我的配置的硬编码分辨率为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.");
});
}
};