对于ios的自动化执行,目前比较成熟的方式通常是借助 WDA 来进行实现。
简介: 什么是WDA(WebDriverAgent)
WebDriverAgent是Facebook 在17年的 SeleniumConf 大会上推出了一款新的iOS移动测试框架。(官方文档:https://github.com/facebook/WebDriverAgent) WebDriverAgent 在 iOS 端实现了一个 WebDriver server ,借助这个 server 我们可以远程控制 iOS 设备。
单设备自动化执行
对于借助wda的自动化,一般只需要在一次配置完成之后,后续都通过自动化的方式来执行。命令如下:
xcodebuild -project Downloads/WebDriverAgent/WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination "id=00008030-00021C192145802E" USE_PORT=8100 test
参数主要包括几项:
a. WDA的路径
b. 设备的UID
c. 设备和电脑映射的端口号
多设备的自动化
对于airtest,可以通过后台运行iproxy来映射端口进行设备连接和操作,但是目前airtest不支持多端口,所以通过后台启动多个wda来连接多个设备,通过不同端口号来映射的方式,目前是行不通的,但是对于单设备是完全可以。多设备的问题,我们后续再介绍其他方式。
需要注意的问题
首次配置时,在ios设备端安装完WDA的server之后,还需要在设置里进行信任,否则依然无法识别进行后续连接。
欢迎关注我的公众号【测试开发备忘录】,一起沟通交流~