Appium Appium 实现多设备并发操作

gogily.liu · 2019年01月18日 · 最后由 Dorom 回复于 2019年04月25日 · 3142 次阅读

测试脚本应该设置:udid=${device} systemPort=${sysPort}
Appium 服务应该单独设置端口号:
Server Port 4723、4725、4727、4729...
Bootstrap Port:4724、4726、4728、4730...
Chromedriver Port 设置对应自行脚本的 systemPort=${sysPort}
完成如下操作基本搞定,需要注意的是 Android 7.0 之前版本使用 automationName=appium,以后版本使用 automationName=uiautomator2

经验之谈 多多交流

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
最佳回复

出现以上情况的主要原因时 adb 冲突的问题 ,同一 PC 启动多台 Appium 进行多设备并发时,如果是无线连接,需要启动不同的 adb server,否则会引起冲突,目前解决的方法是 adb -P yourport connect yourip:deviceport,adb 连接时加上端口号(5037 默认,可以在此基础上依次增加),deviceport 是通过先有线连接单个设备,进行 adb tcpip deviceport 增加的

共收到 6 条回复 时间 点赞

我经过测试调试,发现 Appium1.6.3 对并发的操作兼容性比较好,上述问题已经解决。

不过我现在都没有搞明白什么时候 automationName=appium,什么时候 automationName=uiautomator2,但是我知道 appium 参数不行的话,设置成 uiautomator2 一般都可以了

我做一台 PC 测试同一个 APP 在多台 Android 设备并发操作时,
Appium 版本为:appium-desktop-setup-1.6.3.exe
Robtot Framework 为:robotframework-ride-1.5.2.1
利用 Jenkins 多任务调度同时启动 N 台 Android 设备并发运行相同的设备进行测试成功!

同一 PC 启动 N 个桌面 Appium 程序,配置相应的端口如下:
Server Port 4723、4725、4727、4729...
Bootstrap Port:4724、4726、4728、4730...
Chromedriver Port 设置对应自行脚本的 systemPort=${sysPort}【不知道有用不,已设置为 RF 中的 systemPort 端口相同】
每个 RF 的启动 APP 参数如下:
${sysPort}= Convert To Integer ${sysPort}

#http://127.0.0.1:4723/wd/hub 7.0 192.168.60.19:8888 8201 appium [启动 App 的参数]

Open Application ${httpadr} platformName=Android platformVersion={pVersion} deviceName=${device} udid=${device} systemPort=${sysPort} automationName=${automatName} appPackage=com.yourapp.android appActivity=com.yourapp.mainactivity.MainActivity unicodeKeyboard=True resetKeyboard=True noReset=True

出现以上情况的主要原因时 adb 冲突的问题 ,同一 PC 启动多台 Appium 进行多设备并发时,如果是无线连接,需要启动不同的 adb server,否则会引起冲突,目前解决的方法是 adb -P yourport connect yourip:deviceport,adb 连接时加上端口号(5037 默认,可以在此基础上依次增加),deviceport 是通过先有线连接单个设备,进行 adb tcpip deviceport 增加的

我多设备并发能跑起来 case,但是 htmltestrunner 打印出来的报告 log 串了,没找到原因

能加下微信嘛,我也遇到一样的问题,求指点
13755321731 微信

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册