Mac版 Xcode+Tagent+airtest环境搭建-详细操作步骤

 

在IOS平台进行Airtest测试,需要进行如下部署。

1. iOS-Tagent

在手机上创建一个WebDriver服务器,可用于远程控制iOS设备,定位UI元素

  • 1.1 下载 iOS-Tagent 到本地电脑

git clone git@github.com:AirtestProject/iOS-Tagent.git

  •    git clone https://github.com/AirtestProject/iOS-Tagent.git
  • 下载完成后,双击WebDriverAgent.xcodeproj,启动Xcode
  • 1.2 使用Xcode打开 iOS-Tagent, 用数据线连接iPhone至Mac

连接iPhone后,在iPhone设备上弹出的“是否信任Mac设备”,选择信任

选择设备,在菜单栏 product -> Destination -> 选择你的真机


  • 1.3 使用apple ID苹果账号或苹果开发者账号,登录Xcode,并注册真机设备

左侧导航栏,选择 WebDriverAgentRunner -> TARGETS -> WebDriverAgentRunner -> Signing & Capabilities -> Team

如图,会报错,需要添加开发者证书

部署iOS测试平台需要苹果开发者证书,现在使用个人Apple ID登陆即可,不需要另外注册付费开发者账号
个人版的免费证书,每隔7天左右,要手动更新开发者证书;
需要手动的在iPhone中选择信任证书,通用->设备管理->选择信任;
最多支持3台设备;
资金富裕、且准备重点学习iOS的,可以申请苹果开发者账号,可规避一些其他异常

 


选择 Team -> Add an Account -> 登录苹果账号(个人免费或开发者账号)

选择 TARGETS -> WebDriverAgentRunner -> Build Settings -> Basic

找到且双击 Product Bundle Identifier值,填写一个属于自己独一无二的字串,Xcode会联网检查Product Bundle Identifier,此字段要求唯一标志,多试几个,总有可以的。如 ('com.xxx.webDriverAgent-test123')

airtest ios 使用 airtest连接ios_Mac

回到,上文提过的Signing & Capabilities界面,查看有无报错

airtest ios 使用 airtest连接ios_airtest ios 使用_02

如上图无报错,则继续下面步骤;若有报错,查看 登陆开发者账号

  • 1.4 启动Test,在菜单栏 product -> Test。当你看到这样的日志的时候,代表 iOS-Tagent 已经启动成功了

过程中,Xcode可能会请求密码权限或其他权限 —> 全部允许 —> 不要拒绝,输入的是Mac的登录密码,点击始终允许

信任设备

第一次安装 iOS-Tagent 的时候,你会遇到下面的错误提示框。这时候需要信任应用程序才可以进行启动,在手机上 设置 -> 通用 -> 描述文件与设备管理 ,从而对应用WebDriverAgentRunner进行信任,再次启动product -> Test,会黑屏一下,等待就好,然后会正常执行。

打开日志输出窗口,如图,显示两行t= XXX表示启动成功。(先前安装的xcode12.0,不兼容运行报错,如图一,后来卸载安装xcode11.4,正常)

 

airtest ios 使用 airtest连接ios_开发者账号_03

airtest ios 使用 airtest连接ios_开发者账号_04

2. 设置代理

iproxy 可以把iPhone端口映射到电脑端口,那么就可以通过访问电脑的端口访问到手机的端口了。

一般情况下,需要通过设置usb代理的方式访问手机上的Agent,直接通过wifi对手机进行访问可能会出现问题,具体的原因可以参考 Issues 和 detail

  • 2.1 通过 Homebrew 安装iproxy
    $ brew install libimobiledevice --HEAD
  • 2.2 运行iproxy
    $ iproxy 8100 8100

启动成功后,可以试着在浏览器访问 http://127.0.0.1:8100/status ,如果访问成功并且可以看到一些json格式的手机信息,即表示启动成功。此时,访问 http://127.0.0.1:8100/inspector 可以看到iPhone屏幕投影在浏览器上

有一点需要 注意 的,iproxy只能监听localhost,所以如果你想使用 Windows 连接iPhone,可以改用 wdaproxy。具体步骤为:

  • 使用usb数据线连接iPhone至Mac
  • 在Mac上运行 wdaproxy,wdaproxy可以把iPhone端口映射到Mac端口,具体安装运行步骤可参考 https://github.com/openatx/wdaproxy
  • 在Windows上的AirtestIDE iOS地址输入框,输入Mac的ip地址和端口,点击"connect"按钮

3. AirtestIDE

通过ip方式连接iPhone,实时刷新界面,可进行UI测试

完成上面两个步骤后,就可以在AirtestIDE的iOS地址栏填入地址 http://127.0.0.1:8100 ,点击 “connect” 连接设备,开始编写你的Airtest测试脚本了

airtest ios 使用 airtest连接ios_airtest ios 使用_05