为了账号安全,请及时绑定邮箱和手机立即绑定

iOS真机安装WebDriverAgent图文详解

标签:
iOS

背景

在做iOS自动化测试的时候,一般都需要确保手机上已经安装有WebDriverAgent应用,这个WDA应用可以是Airtest修改版、Appium修改版也可以是Facebook原版,今天我们以Appium修改版为例来进行说明,其他版本同样适用。

环境准备

注意:尽量升级Xcode到最新版本,iPhone版本大于9.3,我这里使用的版本情况如下:

  • Xcode版本:12.3

  • iPhone版本:14.2.1

  • MacOS版本:11.4

  • Python版本:3.6+

安装依赖:‍

pip3 install -U tidevice

拉取代码:

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

证书设置

1、进入WebDriverAgent项目根目录,双击打开WebDriverAgent.xcodeproj,然后在Xcode中的TARGETS里选中WebDriverAgentLib,按照下图数字序号依次点击,注意步骤4要开启自动管理签名。

https://img1.sycdn.imooc.com//610fd66600013ce010800628.jpg

2、在Team选项那里添加帐户然后选中,这里的账户可以是个人免费账户也可以是付费开发者账户,区别在下面会提及。

https://img1.sycdn.imooc.com//610fd66700017dec10800618.jpg

3、接着在TARGETS里面选中WebDriverAgentRunner,用步骤1、2中同样的方法设置好证书。

https://img1.sycdn.imooc.com//610fd66700017ef510800628.jpg

4、如果是个人免费版的证书,还需要修改下WebDriverAgent的BundleID,随便加后缀,不要跟别人重复就好,这里建议可以加当前时间戳,比如:202106290903,如果是付费版开发者证书则不需要这步操作。

https://img1.sycdn.imooc.com//610fd6670001a7cb10800625.jpg

运行测试

按照下图中提示,分别选择WebDriverAgentRunner和目标设备:

https://img1.sycdn.imooc.com//610fd66800011d3510800611.jpg

https://img1.sycdn.imooc.com//610fd668000199ee10800312.jpg

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

https://img1.sycdn.imooc.com//610fd6680001c24308680344.jpg

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

https://img1.sycdn.imooc.com//610fd6680001cd4105200608.jpg

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

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

https://img1.sycdn.imooc.com//610fd66900014f4f10800429.jpg

通过上面给出的IP和端口,加上/status合成一个url地址,例如http://10.0.0.1:8100/status,然后浏览器打开,如果出现下图的输出,就说明WDA安装成功了。

https://img1.sycdn.imooc.com//610fd66900018e2010800655.jpg

但是有些国产的iPhone机器通过手机的IP和端口还不能访问,此时需要将手机的端口转发到Mac上,这个时候执行下面的命令即可:

tidevice relay 8100 8100

自动化执行

为了和持续集成系统结合,可以通过下面的命令实现利用xcodebuild自动启动WebDriverAgent。

# 解锁keychain,以便可以正常的签名应用PASSWORD="your-mac-password"security unlock-keychain -p $PASSWORD ~/Library/Keychains/login.keychain

# 获取设备的UDIDUDID=$(idevice_id -l | head -n1)

# 运行测试xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination "id=$UDID" test



作者:岛哥的质量效能笔记
链接:https://juejin.cn/post/6993892294705283080
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消