前言
做android自动化的时候,启动一个appium服务,只能匹配一个手机去自动化执行。有时候想同一套代码,可以在不同的手机上执行,测下app在不同手机上兼容性。
这就需要启动多个appium服务了,并且android设备和appium要一一对应才行。
启动多个手机
1.这里以夜神模拟器和雷电模拟器为例,先启动这2个设备
2.adb devices查看设备名称,多个设备会显示多行数据
启动多个appium服务
1.启动appium服务,可以用命令行模式,在cmd里面启动,可以参考上一篇 appium命令行参数
比如第一个appium服务,可以指定一个端口4730,然后指定一个设备名称【雷电模拟器】,也就是-U参数(adb devices可以查看)
appium -a 127.0.0.1 -p 4730 -U emulator-5554 --no-reset
2.第二个appium 服务指定设备名称【夜神模拟器】
appium -a 127.0.0.1 -p 4740 -U 127.0.0.1:62001 --no-reset
yaml管理配置
1.运行不同手机时候,desired_caps的参数配置肯定也是需要多个的,如何高效的管理多个desired_caps配置呢?
这里我用yaml文件去管理,更方便查看
desired_caps = {
'platformName': 'Android', # 手机是Android还是ios
'deviceName': 'emulator-5554',
'platformVersion': '5.1.1', # android版本号
'noReset': True,
# apk包名 # aapt工具查看
'appPackage': 'com.taobao.taobao',
# apk的launcherActivity
'appActivity': 'com.taobao.tao.welcome.Welcome'
}
2.yaml文件配置如下:
- desc: 设备名称_雷电,appium启动服务端口号_4723
port: 4730
desired_caps:
platformName: And