知道selenium grid2 可以提供并行化。
可是怎么把它应用到Appium上啊,研究了一个礼拜一筹莫展。
希望大家能给点儿思路,谢谢~
并行化做的好痛苦啊!!
----------目前的一些进展,初步实现并行化---------
---希望对大家有所帮助---
步骤:
1.下载 selenium-server-standalone-2.41.0.jar
地址:http://selenium-release.storage.googleapis.com/index.html?path=2.41/
2.启动配置nodeconfig.json
3.启动命令行启动hub(已经安装了java jdk)java -jar selenium-server-standalone-2.41.0.jar -role hub
4.启动appium server
5.能在 http://localhost:4444/grid/consolehub上注册的node中找到
6.执行测试脚本。
detail:
1.如何配置nodeconfig.json
感谢 @seveniruby 在3楼提供重要思路---修改nodeconfig文件。
感谢 @arnox 在9楼提到
{
Grid node config file:
https://github.com/appium/appium/blob/master/docs/en/grid.md
}
ps:官方的文档grid.md中"host": <host_name_appium_server_or_ip-address_appium_server>,没有加上双引号的,估计是它的疏漏。应改为"host": "<host_name_appium_server_or_ip-address_appium_server>"
感谢 @vigossjjj 在19楼的nodeconfig.json源码
2.测试脚本修改
self.driver = webdriver.Remote(
command_executor='http://*.*.*.*:4723/wd/hub',
desired_capabilities={
'browserName': '',
'device': 'iPhone Simulator',
'platform': 'Mac',
'version': '7.1',
'app': app_remote
})
ps:command_executor 中 *.*.*.*写的是要执行此测试用例的node(appium server)的ip地址.
存在的问题:
1.hub端不知道如何获取node的测试信息
2.如果执行的测试用例触发app漏洞,如何定位app出错位置 愁人啊!
希望大家给点思路。