Loading

iOS安装WebDriverAgent避坑详解

前言

  • 对iOS真机做自动化测试,需要像连接安卓设备一样,实时投影、控制手机。
  • 难点在于不同的iOS版本、Xcode版本、WebDriverAgent版本难以一次性部署调试成功。
  • WebDriverAgent应用必须安装在手机上,才能完成对iOS系统的操作,所以选择WDA版本很关键。

环境

Xcode尽量升级到最新版本,iphone版本尽量大于10:

  • Xcode:13.2.1 (当前2022年3月10日)
  • iOS:14.7.1
  • MacOS:12.2.1
  • Python:3.8.6

部署流程

  1. Mac下载WebDriverAgent,使用Xcode启动Test
  2. 启动代理,通过命令执行 iproxy 8100 8100 运行代理后,通过浏览器打开 http://127.0.0.1:8100/status ,查看iOS设备是否连接成功。

安装依赖

WebDriverAgent使用appium修改版,这样能满足iOS高版本测试需求

直接在github上下载:https://github.com/appium/WebDriverAgent

或者git clone

git clone https://github.com/appium/WebDriverAgent

iproxy是usbmuxd附带的一个小工具,它的作用是将设备的某个端口映射到电脑的某个端口。

mac下可以通过brew安装

brew install usbmuxd

iproxy 8100 8100 意思就是将手机的8100端口,映射到电脑的8100端口上。这样我们就能通过访问电脑的8100端口来访问到手机了。

步骤

参考:https://cloud.tencent.com/developer/article/1864001

安装Xcode

设置证书

进入WebDriverAgent根目录,打开WebDriverAgent.xcodeproj文件

在Xcode中的TARGETS里选中WebDriverAgentLib,开启自动管理签名

选中WebDriverAgentRunner,像WebDriverAgentLib一样设置证书

如果是个人免费版的证书,还需要修改下WebDriverAgent的BundleID,随便加后缀,不要跟别人重复就好

运行测试

分别选择WebDriverAgentRunner和目标设备

然后点击Product菜单下的Test,这时候会提示输入本机电脑的密码,输入完成后点击始终允许即可。


如果是个人免费版证书还会弹出下面的提示:

因为WDA应用没有被信任,需要进入手机设置-> 通用-> 描述文件与设备管理,点击开发者APP信任一下就可以了。

然后再次运行Test,就可以在Xcode控制台看到下面的输出信息:

启动代理

终端运行命令

iproxy 8100 8100

将手机的8100端口,映射到电脑的8100端口上。这样我们就能通过访问电脑的8100端口来访问到手机了。

查看iOS设备连接状态

浏览器输入url:http://127.0.0.1:8100/status

通过AirtestIDE连接设备

打开设备窗
在 AirtestIDE 的设备窗口,输入地址:http://127.0.0.1:8100 或 [http://x.x.x.x(MAC IP):8100](http://x.x.x.x(MAC IP):8100):

点击Connect按钮即可连接iOS设备,如图:

posted @ 2022-03-10 10:53  Binzichen  阅读(4319)  评论(0编辑  收藏  举报