使用Jenkins+robot framework+Appium实现持续集成后,只想在一台有RF的机子上打开多个appium服务,实现在不同安卓终端运行各自的用例,具体如下:
1、robot framework的remote url端口参数化:
2、运行appium服务:
用命令行分别运行2个appium服务:(注意端口号和终端IP不同)
appium -a 127.0.0.1 -p 4723 -U 你的uid --no-reset
appium -a 127.0.0.1 -p 4823 -U 你的uid --no-reset
3、Jenkins项目配置:platformVersion和deviceName和port都使用命令行传递参数
有两个项目,在构建的Execute Windows batch command分别输入命令如下:
pybot.bat --variable port:4723 --variable platformVersion:4.4.2 --variable deviceName:127.0.0.1:62001 -d D:\HYX\测试报告\夜神 C:\Python27\RFA\app.txt
pybot.bat --variable port:4823 --variable platformVersion:5.1.1 --variable deviceName:emulator-5554 -d D:\HYX\测试报告\雷电 C:\Python27\RFA\app.txt
4、修改Jenkins单节点最多可执行JOB数量:
系统管理->管理节点->编辑节点,修改 # of executors 为 2
OK,修改后,即可在同一台电脑上运行2个JOB
5、appium连接2台设备:
正常连接两台设备:
adb connect 192.168.7.151
adb connect 192.168.7.152
要看到两台都连接上,才可以,可能出现问题:
如果出现offline:那可能是那台终端被其他台电脑所连接,其他电脑需要断开连接,本机才可以连上
如果出现unable to connect to :5555,那可能这台终端之前被其他台电脑给连接了
出现以上2个情况,解决办法:重启安卓终端或者重启开发者模式
5、保存后,执行,即可在不同的机器上运行不同的用例,这样,只需要在一台机子上安装RF即可。
6、可以参考我上传的robotframe脚本: 持续集成appnium+robotframework脚本