我正在尝试在多台设备上运行量角器测试。
使用Appium的桌面浏览器和移动浏览器的配置不同。 有没有办法混合两种配置?
这是我的配置文件的内容:
1.使用“1-多个桌面浏览器”的主要配置
// conf.js
exports.config = {
framework: 'custom',
frameworkPath: require.resolve('protractor-cucumber-framework'),
cucumberOpts: {
require: 'features/step_definitions/*.step.js',
format: "summary"
},
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['features/*.feature'],
multiCapabilities: [
{
browserName: 'firefox'
},
/* TODO Safari is randomly failing (necessary restart safari and selenium server)
{
browserName: 'safari'
},*/
{
browserName: 'chrome'
},
{
browserName: 'chrome',
// List of devices https://cs.chromium.org/chromium/src/chrome/test/chromedriver/chrome/mobile_device_list.cc
'deviceName': 'Google Nexus 5'
},
{
browserName: 'chrome',
'deviceName': 'Apple iPhone 6'
},
{
browserName: 'chrome',
'deviceName': 'Apple iPad'
},
{
browserName: 'chrome',
'deviceName': 'Samsung Galaxy S4'
}
]
};
https://github.com/aluzardo/protractor-cucumber-tests/blob/master/conf.js
2.第一个移动设备Appium的配置
// conf-appium.js
exports.config = {
framework: 'custom',
frameworkPath: require.resolve('protractor-cucumber-framework'),
cucumberOpts: {
require: 'features/step_definitions/*.step.js',
format: "pretty"
},
seleniumAddress: 'http://localhost:4723/wd/hub',
specs: ['features/*.feature'],
capabilities: {
browserName: 'chrome',
'appium-version': '1.5.3',
platformName: 'Android',
platformVersion: '5.0.2',
deviceName: '33005bd56ac6c223'
}
};
https://github.com/aluzardo/protractor-cucumber-tests/blob/master/conf-appium.js
3.第二移动设备Appium的配置
// conf-appium-1.js
exports.config = {
framework: 'custom',
frameworkPath: require.resolve('protractor-cucumber-framework'),
cucumberOpts: {
require: 'features/step_definitions/*.step.js',
format: "pretty"
},
seleniumAddress: 'http://localhost:4747/wd/hub',
specs: ['features/*.feature'],
capabilities: {
browserName: 'chrome',
'appium-version': '1.5.3',
platformName: 'Android',
platformVersion: '4.2.2',
deviceName: '30048664b980c100'
}
};
https://github.com/aluzardo/protractor-cucumber-tests/blob/master/conf-appium-1.js
目前我的测试正在运行,但使用不同的conf.js文件并运行各种appium服务器实例。
我需要在端口4444上运行selenium服务器,在端口4723上运行一个appium服务器,在端口4747上运行其他appium服务器。使用此命令同时运行三个脚本:
protractor conf.js & protractor conf-appium.js & protractor conf-appium-1.js
通常测试通过成功,但有时我会收到此错误:
WebDriverError: An unknown server-side error occurred while processing the command. Original error: Could not proxy. Proxy error: Could not proxy command to remote server. Original error: Error: socket hang up
有没有正确的方法来配置量角器和appium以在多个设备中运行测试?
答案 0 :(得分:0)
据我了解,您只在网络和浏览器中运行浏览器测试。移动,然后为什么要使用appium?您只需调整窗口大小即可运行相同的测试。
我相信除非您从自动化角度覆盖Native / Hybrid应用程序,否则它是相同的。在少数特殊情况下(定位器更改)可以在页面对象内单独处理。