【发布时间】:2016-09-27 14:36:38
【问题描述】:
我有一个带有 selenium hub 的工作 selenium 配置,这是我通过 Nightwatch.js 启动的 firefox/chrome 桌面测试的入口点。
现在我想为移动设备添加测试,所以,经过一番搜索,我在 Mac 上配置了一个 Appium,如下所示插入我的集线器:
{
"capabilities": [
{
"browserName": "Safari",
"platformName": "iOS",
"platformVersion": "9.3",
"maxInstances": 1,
"platform": "MAC"
}
],
"configuration": {
"cleanUpCycle": 2000,
"timeout": 30000,
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"url":"http://192.168.24.222:4723/wd/hub",
"host": "192.168.24.222",
"port": 4723,
"maxSession": 1,
"register": true,
"registerCycle": 5000,
"hubPort": 4444,
"hubHost": "selenium-hub-host"
}
}
现在我想:
- 使用 Appium 配置虚拟设备(我迷失了官方文档,对 Apple 设备不熟悉)
- 有适当的 Nightwatch 测试配置以在它们上运行
- 在 Appium 端添加一个或多个真实设备
欢迎任何帮助,谢谢
编辑:我已经实现了 1. 和 2. 通过增强 nightwatch task def 和 appium 功能的功能:
在 Nightwatch.js 上:
"ios": {
"desiredCapabilities" : {
"browserName" : "Safari",
"deviceName": "iPhone Simulator",
"platformName" : "iOS",
"platform" : "MAC",
"javascriptEnabled" : true,
"acceptSslCerts" : true
}
}
在 Appium nodeconf.json 上:
"capabilities": [
{
"browserName": "Safari",
"platformName": "iOS",
"platformVersion": "9.3",
"deviceName": "iPhone Simulator",
"maxInstances": 1,
"platform": "MAC"
}
]
但现在我被真实设备困住了,它不想在 selenium 集线器上注册我的 nodeconf(显然是无效的参数):
{
"browserName": "Safari",
"platformName": "iOS",
"platformVersion": "8.1",
"deviceName": "testmac’s iPad",
"udid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"maxInstances": 1,
"platform": "MAC"
}
【问题讨论】:
标签: android ios selenium appium nightwatch.js