Appium 使用 Selenium Grid & appium & testNG 控制多台设备。

June · July 25, 2015 · Last by replied at August 27, 2015 · 2022 hits

分享一下 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会导致不能同时控制多台设备。

共收到 9 条回复 时间 点赞

强!有三个问题请教下楼主
1.如何获取appium Grid 上各结点的运行状态?
2.appium hub上的各结点node上的appium服务器使用前先重启下?
3.远程执行adb命令

June #2 · July 26, 2015 作者

@springs412 不太明白你的意思。
1.如何获取appium Grid 上各结点的运行状态?
》不明白什么意思?
2.appium hub上的各结点node上的appium服务器使用前先重启下?
》不需要重启。
3.远程执行adb命令
》不太会使用adb(个人认为做测试的时候尽量不要用adb)

grid是同时并发执行的?如果不是并发,那就没有意义了

June #4 · July 31, 2015 作者

@mads 是并发

June #5 · July 31, 2015 作者

@mads 并发可以在testNG设置

#5楼 @jinjun0620 其实你不借助工具,写线程也一样可以实现的

lz的想法挺不错的,但是如果遇到一些appium目前无法解决,只能用adb的时候,你这个如何处理

@mads 能发下你线程的思路么 帖子来个 最近重新看了下这个并发的模块

#8楼 @doria 我不会,我领导会

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up