iOS真机安装WebDriverAgent
iOS 真机安装 WebDriverAgent
本文根据 ATX 文档 - iOS 真机如何安装 WebDriverAgent 进行实践
参考资料
https://github.com/openatx/facebook-wda
https://github.com/NetEaseGame/ATX
https://github.com/facebook/WebDriverAgent
https://github.com/appium/WebDriverAgent
准备工作
注意:尽量升级Xcode到最新版本,iphone版本大于9.3
- Xcode版本:10.2.1
- iPhone版本:12.2
- OS版本:10.14.4
实践开始
新建一个目录,从 git 下载 WDA 项目代码到本地
git clone https://github.com/facebook/WebDriverAgent
运行初始化脚本
1
2
3
4#进入代码目录
cd xx/xx/WebDriverAgent-master
#执行初始化脚本
./Scripts/bootstrap.sh注
根据报错通过 brew 安装以下依赖- carthage依赖:
brew install carthage
- npm:
brew install npm
- carthage依赖:
证书设置
进入项目路径,双击打开WebDriverAgent.xcodeproj,打开xcode后按照下方数字序号依次点击,勾选第5项目,弹框内点击Enable Automatic。
Team 栏添加帐户(个人账号和开发者账号兼可)选中
接着在TARGETS里面选中WebDriverAgentRunner,用同样的方法设置好证书
个人免费版的证书,还需要修改下WebDriverAgent的BundleID,随便加后缀,不要跟别人重复就好
运行和测试
点击方框选项,分别选择WebDriverAgentRunner和目标设备
运行 Product -> Test
一切正常的话,手机上会出现一个无图标的WebDriverAgent应用,启动之后,马上又返回到桌面。个人免费证书第一次运行需要信任证书
日志信息如下:Verify the Developer App certificate for your account is trusted on your device. Open Settings on Vic小叶子 and navigate to General -> Device Management, then select your Developer App certificate to trust it.
原因:开发者人员程序未受信任
解决:进入手机设置-> 通用-> 描述文件与设备管理-> 点击开发者应用,信任一下就好了。
此时控制台界面可以看到设备的IP。如果看不到的话,使用这种方法打开
通过上面给出的IP和端口,加上/status合成一个url地址。例如http://10.0.0.1:8100/status,然后浏览器打开。如果出现一串JSON输出,说明WDA安装成功了。
实际情况,我到这一步访问这个地址无响应:
原因:部分国行的iphone机器通过IP和端口还不能访问
解决:需要将手机的端口转发到Mac上(端口转发见下文)
端口转发
有些国产的iPhone机器通过手机的IP和端口还不能访问,此时需要将手机的端口转发到Mac上。
- 安装libimobiledevice
1 | brew update |
转发端口
iproxy 8100 8100 UDID
使用iproxy –help 可以查到更具体的用法。查询UDID
instruments -s
这时通过访问http://localhost:8100/status
,如果出现一串JSON输出,说明WDA安装成功了。
inspector
是用来查看UI的图层,方便编写测试脚本
inspector的地址是:http://localhost:8100/inspector
使用终端替代Xcode
通常来说为了持续集成,能够全部自动化比较好一些
启动 WebDriverAgent,官方提供了四种方式:
- Xcode
- xcodebuild
- Using fbsimctl from FBSimulatorControl framework
- Using FBSimulatorControl framework directly
1 | # 解锁keychain,以便可以正常的签名应用, |