我的移动网络/桌面功能有所不同。我的媒体查询在设备宽度上运行,例如:
@media only screen and (max-device-width: 1024px) {
...
}
这意味着我不能只改变浏览器大小(它不起作用):
browser.manage().window().setSize(320, 480);//will not be affected by 'device-size' media query
我找到了更改chromeOptions
设备功能的选项。我尝试将其用于multiCapabilities
:
'use strict';
var config = require('infra-gruntfile/protractor-conf').config;
// old capabilities
// config.capabilities = {
// browserName: 'chrome'
// };
config.multiCapabilities =
[
{
browserName: 'chrome',
name: 'Unnamed Job',
count: 1,
shardTestFiles: false,
maxInstances: 10,
chromeOptions: {
'mobileEmulation': {
'deviceName': 'Apple iPhone 4'
},
args: [
'incognito',
'disable-extensions'
]
},
loggingPrefs: {
browser: 'ALL'
},
specs: ['app/**/*.mobile.spec.js']
},
{
browserName: 'chrome',
specs: ['!app/**/*.mobile.spec.js']
}
]
module.exports.config = config;
看起来specs
不起作用(我尝试了不同的spec
选项)但是所有这些选项都会在移动/非移动浏览器上运行所有测试。我需要测试移动测试才能在移动设备上运行 ,而在常规浏览器上运行所有其他设备。
在测试过程中,我是否以编程方式执行此操作(而不使用配置)?
我目前的配置有什么问题?为什么specs
不适合我?
答案 0 :(得分:2)
阅读this帖后,我发现问题是特定功能的规范另外到主config.specs。
这意味着我必须使用specs: []
'use strict';
var config = require('infra-gruntfile/protractor-conf').config;
// old capabilities
// config.capabilities = {
// browserName: 'chrome'
// };
config.specs = []; //This line solved my problem!
config.multiCapabilities =
[
{
browserName: 'chrome',
name: 'Unnamed Job',
count: 1,
shardTestFiles: false,
maxInstances: 10,
chromeOptions: {
'mobileEmulation': {
'deviceName': 'Apple iPhone 4'
},
args: [
'incognito',
'disable-extensions'
]
},
loggingPrefs: {
browser: 'ALL'
},
specs: ['app/**/*.mobile.spec.js']
},
{
browserName: 'chrome',
specs: ['!app/**/*.mobile.spec.js']
}
]
module.exports.config = config;