grunt量角器不接受修改后的分辨率

时间:2015-08-19 00:43:41

标签: gruntjs jasmine protractor

我的配置的硬编码分辨率为1200x800,但是......

onPrepare中的

我想查看user-agent字符串,看看是否有人试图测试iPhone或iPad ..然后我会相应地更改分辨率。

这适用于普通的老量角器/ nodeJS,但是当我尝试使用我的grunt任务时......它完全忽略了375x667的更新分辨率并以默认值运行。

我认为可能发生的版本可能是版本不匹配,但不确定如何修复/跟踪此行为。想法?

mytestconfig.conf.js

var configUtils = require('..../configUtils.js');
var path = require('path');

exports.config = {

suites: {
    basicFunctionality: '..../tests.spec.js'
},

capabilities: {
    'browserName': 'chrome',
    'chromeOptions': {
        args: ['--test-type',
            'user-agent=Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Mobile/8B117'
        ]
    }
},

jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 60000
},

params: {
    orionServerLocation: "ws://localhost:9000",
    dimensions: {
        //mobile size
        //width: 375,
        //height: 667

        //tablet size
        //width: 1200,
        //height: 800

        //minimum desktop size
        width: 1200,
        height: 800
    },
    defaultTimeoutInterval: 1000,
    enableDesktopMode: false
},
baseUrl: 'http://localhost:9000',
onPrepare: function () {

    browser.getProcessedConfig().then(function(config) {
        console.log("Processing Config....");
        var timeStamp = Math.floor(Date.now() / 1000);
        var masterImageFolder = ".." + path.sep + ".." + path.sep + "e2e-testing" + path.sep + "master-set" + path.sep;
        var baseFolder = ".." + path.sep + ".." + path.sep + "e2e-testing" + path.sep + "tmp" + path.sep + timeStamp;

        browser.params.baseTestFolderName = path.join(__dirname, baseFolder);
        browser.params.masterImageFolderName = path.join(__dirname, masterImageFolder);
        browser.params.browserName = config.capabilities.browserName.split(' ').join('_');

        var userAgentString = configUtils.extractUserAgentString(config);

        var settingsSuggestion = configUtils.assessUserAgentSelection(userAgentString);

        browser.params.testDeviceType = settingsSuggestion.deviceType;

        if (settingsSuggestion.enableDesktopMode) {
            browser.params.enableDesktopMode = settingsSuggestion.enableDesktopMode;
        }

        if (settingsSuggestion.width) {
            browser.params.dimensions.width = settingsSuggestion.width;
        }

        if (settingsSuggestion.height) {
            browser.params.dimensions.height = settingsSuggestion.height;
        }

        var testSuites = configUtils.extractTestSuites(config);

        testSuites.forEach(function(suiteName) {
            var fullPath = configUtils.createFolderPath(suiteName);
            configUtils.createFolder(fullPath);
        });
        console.log("Done processing config.");
    });
}
};

0 个答案:

没有答案