在带 Browserstack 的 Intern 中指定多个环境
Specify multiple environments in Intern w/ Browserstack
我正在尝试 运行 使用 Intern 在 BrowserStack 上进行并行功能测试。我当前的工作 intern.json 配置如下所示:
{
"proxyPort": 9000,
"capabilities": {
"browserstack.local": false,
"browserstack.debug": true,
"browserstack.video": true,
"fixSessionCapabilities": false
},
"environments": [
{ "browserName": "Chrome", "version": 62 },
{ "browserName": "Firefox", "version": 38 },
{ "browserName": "Safari", "version": 9 },
{ "browserName": "IE", "version": 11 }
],
"tunnel": "browserstack",
"tunnelOptions": {
"username": "myUsername",
"accessKey": "myAccessKey"
},
"reporters": ["pretty"],
"functionalSuites": ["dist/functional/tests/demo.js"]
}
但是,当我尝试在每个环境对象中指定 OS、os_version 或任何其他内容时,我的测试不会 运行,如下所示:
{ "browserName": "Chrome", "version": 62, "os" : "OS X" },
我一直在参考 BrowserStack 文档:https://www.browserstack.com/automate/capabilities
此外,我无法在此配置中指定任何移动设备 - 它大喊其缺少浏览器名称 属性...
知道如何执行上述任一操作吗?谢谢!!!
这是您的配置的工作示例:
define({
proxyPort: 9000,
capabilities: {
'browserstack.local': false,
fixSessionCapabilities: false
},
defaultTimeout: 300000,
environments: [
{ browser: 'Chrome', 'browser_version': '62','os': 'Windows','os_version': '7' },
{ browser: 'Firefox', 'browser_version': '38' },
{ browser: 'Safari','browser_version': '9' },
{ browser: 'IE', 'browser_version': '11' },
// This will ONLY work on real_mobile supported devices
{ browser: 'Safari', 'device': 'iPhone X', 'real_mobile': 'true' },
// This will work as an emulated mobile device
{"browser": "android", "device": "Google Nexus 7", "os_version": "4.1"}
],
maxConcurrency: 3,
tunnel: 'BrowserStackTunnel',
tunnelOptions: {
verbose: true,
username: '<Username>',
accessKey: '<AccessKey>'
},
reporters: [ 'Pretty' ],
loaderOptions: {
packages: null
},
suites: null,
functionalSuites: [ 'tests/single_test' ],
excludeInstrumentation: true
});
以上演示了 real_mobile 支持的设备和模拟移动设备的环境配置。
可在此处找到 BrowserStack Automate 支持的所有设备列表:https://www.browserstack.com/list-of-browsers-and-platforms?product=automate。标有蓝色图标的设备是真正的移动设备,不能用作模拟器。
似乎并不是每一个 os_version BrowserStack 在他们的能力中列出的工作。但我尝试了下面的配置,它成功了!
{ browser: "Chrome", version: "62", os: "OS X", os_version: "El Capitan" }
这个应该也可以:
{ browser: "Chrome", version: "62", os: "OS X"}
To 运行 在移动设备上:我不使用移动设备,所以我不太确定,但我认为获得正确的设备名称是件好事,os_version..(最好直接问BrowserStack)
但我试过了,这个对我有用:
{browser: "android", device: "Google Nexus 7", os_version: "4.1"}
我正在尝试 运行 使用 Intern 在 BrowserStack 上进行并行功能测试。我当前的工作 intern.json 配置如下所示:
{
"proxyPort": 9000,
"capabilities": {
"browserstack.local": false,
"browserstack.debug": true,
"browserstack.video": true,
"fixSessionCapabilities": false
},
"environments": [
{ "browserName": "Chrome", "version": 62 },
{ "browserName": "Firefox", "version": 38 },
{ "browserName": "Safari", "version": 9 },
{ "browserName": "IE", "version": 11 }
],
"tunnel": "browserstack",
"tunnelOptions": {
"username": "myUsername",
"accessKey": "myAccessKey"
},
"reporters": ["pretty"],
"functionalSuites": ["dist/functional/tests/demo.js"]
}
但是,当我尝试在每个环境对象中指定 OS、os_version 或任何其他内容时,我的测试不会 运行,如下所示:
{ "browserName": "Chrome", "version": 62, "os" : "OS X" },
我一直在参考 BrowserStack 文档:https://www.browserstack.com/automate/capabilities
此外,我无法在此配置中指定任何移动设备 - 它大喊其缺少浏览器名称 属性...
知道如何执行上述任一操作吗?谢谢!!!
这是您的配置的工作示例:
define({
proxyPort: 9000,
capabilities: {
'browserstack.local': false,
fixSessionCapabilities: false
},
defaultTimeout: 300000,
environments: [
{ browser: 'Chrome', 'browser_version': '62','os': 'Windows','os_version': '7' },
{ browser: 'Firefox', 'browser_version': '38' },
{ browser: 'Safari','browser_version': '9' },
{ browser: 'IE', 'browser_version': '11' },
// This will ONLY work on real_mobile supported devices
{ browser: 'Safari', 'device': 'iPhone X', 'real_mobile': 'true' },
// This will work as an emulated mobile device
{"browser": "android", "device": "Google Nexus 7", "os_version": "4.1"}
],
maxConcurrency: 3,
tunnel: 'BrowserStackTunnel',
tunnelOptions: {
verbose: true,
username: '<Username>',
accessKey: '<AccessKey>'
},
reporters: [ 'Pretty' ],
loaderOptions: {
packages: null
},
suites: null,
functionalSuites: [ 'tests/single_test' ],
excludeInstrumentation: true
});
以上演示了 real_mobile 支持的设备和模拟移动设备的环境配置。
可在此处找到 BrowserStack Automate 支持的所有设备列表:https://www.browserstack.com/list-of-browsers-and-platforms?product=automate。标有蓝色图标的设备是真正的移动设备,不能用作模拟器。
似乎并不是每一个 os_version BrowserStack 在他们的能力中列出的工作。但我尝试了下面的配置,它成功了!
{ browser: "Chrome", version: "62", os: "OS X", os_version: "El Capitan" }
这个应该也可以:
{ browser: "Chrome", version: "62", os: "OS X"}
To 运行 在移动设备上:我不使用移动设备,所以我不太确定,但我认为获得正确的设备名称是件好事,os_version..(最好直接问BrowserStack) 但我试过了,这个对我有用:
{browser: "android", device: "Google Nexus 7", os_version: "4.1"}