一、前言
首先是启动appium,由于多台真机设备的测试,当然是要用到多个appium,其实对于多设备用appium做并发自动化测试,为了解决冲突,无非是解决两个问题
a、设备udid向appium发送以识别是哪台设备要做自动化测试
b、appium启动所占用的端口
其实a的话有尝试过做指定设备的自动化测试就知道,b的话无非是appium用到的服务端口(默认4723),对应还有android端的bootstrap的端口以及iOS端的webdriveragent的转发端口,关于端口问题,在appium 1.6.5之后都是没问题的。
二、准备
iOS需要准备可正常build & test 的wda
若要在iOS真机执行,需要提前安装真机执行所需依赖
三、执行
【iOS】
appium -p 4723 --webdriveragent-port 8102 --device-name f899b567337e8eb4505ccad03752e00f56809ac8
appium -p 4725 --webdriveragent-port 8100 --device-name bd07a036d51bad5c0b7269f3f1f6adc83149f177
--webdriveragent-port 就是webdriveragent的端口转发的指定端口,比如在iOS端上的webdriveragent启动服务后默认是手机ip:8100,那你本地就可以通过一个如8101的端口去映射手机的8100端,这样就能做到访问手机上的webdriveragent
顺带提一下一般appium是用自己目录下面的webdirveragent来build的,所以在此之前需要去里面添加证书和重命名包名,不然build不成功就不可行了
【Android】
appium -p 4723 -bp 8201 -U 68de2f65
appium -p 4724 -bp 8202 -U 81CEBMJ2379J