分享一下 Selenium Grid & appium & testNG 控制多台设备。

环境:

  1. 设备:GalaxyS6 Edg,Genimotion 虚拟机。
  2. PC:MAC OS X 10.10.4
  3. 软体:Eclipse, java, appium, testNG

SetUp:

要用 Grid 首先要开启 hub,node 两个 server。
先开 hub。

  1. 在命令窗输入
java -jar "selenium server 路径" -role hub

ㄴ 开 hub server 后在浏览器输入 localhost:4444

  1. 设置 node。 ㄴ 写 nodeconfig。在文本编辑器输入 nodecofig 并保存为 json。

ㄴ 用这个 json 文件打开 node server。命令行输入

appium -p 4724 -bp 4714 --nodeconfig "json文件路径"

相同的方法打开多的 node server

ㄴ 浏览器会显示以连接的 node 信息。

  1. 写 script ㄴ testNG: 在 parameter 添加设备信息。

ㄴ java: 按设备数填写 capabilities (udid, devicesName 必写)

ㄴ 最后在 beforeClass 输入如下就 ok。

public AndroidDriver driver = null; 
driver = new AndroidDriver(new URL("http://localhost:4444/wd/hub"), capability);

PS: public AndroidDriver driver = null; 不要添加 static。加 static 会导致不能同时控制多台设备。


↙↙↙阅读原文可查看相关链接,并与作者交流