记录第一次使用Python+appium实现多台安卓设备的脚本连接
首先整体的思路是:一个Python脚本对应一个appiumserver对应一个安卓设备,在一台电脑上可以运行多个这样的单元。
1、安卓设备跟电脑的连接:
a、可以使用adb wifi命令,这种连接方式可以连接多台设备,但是存在连接不稳定的情况。所以这次是用usb连接线进行连接
b、设备连接成功后,使用adb devices命令进行设备的查询,查询到后则表明已经连接成功。
c、给设备安装上需要测试的apk,如果在连接多台设备的状态下进行apk的安装的话,使用adb -s 设备*** -install apk路径。
2、多个appiumserver服务的创建。
a、打开appium,点击首页的‘advanced’,其中包括general、iOS、android三个模块,我测试的是安卓设备,所以选择了general和android进行端口的设置。
安卓设备1:
general server port :4724
android bootstrap port : 4725
安卓设备2:
general server port :4725
android bootstrap port : 4726
对应的端口填写好之后,记得点击‘save as presets’进行保存。保存成功之后,在presets模块中可以看到刚刚保存的两个server。
b、启动appiumserver服务。
点击‘start server v1.8.1’即可启动server。
3、Python脚本的测试。
有几个注意点:
a、在参数中需要添加一个‘uuid’:设备***。目的是为了区分哪个Python文件跑哪个设备
b、webdriver.remote部分,url里面的端口号,要修改成自己在appium中设置的general server port :4725
c、pycharm中需要打开允许多个py文件同时跑的开关,勾选‘allow parallel run’。
4、实际测试中遇到的问题(持续补充)
a、同时跑的时候,会报这个10053错误,
后来检查发现,是time.sleep()方法,时间设置过长,导致连接断了,所以时间设置短一些,或者使用其他方法来等待元素的出现。
有不足之处,希望大家一起讨论。