airtest连接IOS设备过程记录
话不多说,直接步入正题,鉴于可能有从零开始的同学,所以这里的步骤可能写的繁琐了点~
步骤一(前期准备)
首先你得有个IOS手机,MAC电脑,Airtest IDE,以及基础的一些环境
Airtest官方的基本要求
版本需求:
Mac Xcode ≥ 9.3
iPhone iOS ≥ 9.3
在 9.3≤iOS≤10时,由于基于旧版xcode SDK,建议使用Xcode 版本≤10.1来启动iOS-Tagent,否则会出现手机截屏不全的问题。
Airtest是基于Python的,支持版本2.7或≤3.6,官方推荐使用3
Airtest下载地址
Xcode下载地址 这里给出的是官方的历史版本下载地址,从app store下载*新版本的xcode会存在一些问题
IOS-Tagent下载地址 使用git clone或者直接下载zip解压都可以
iproxy工具,做端口转发需要,具体安装方式使用brew install libimobiledevice即可
步骤二
使用Xcode打开步骤一中的IOS-Tagent项目,然后需要一些具体设置,详细的设置步骤可以参考我的上过一篇文章,上文中的步骤三开始到*后都与此处操作一致
关于Xcode版本
*终我使用成功的版本为Xcode10连接,IOS12.3以及IOS12.3.1设备
官方的IOS-Tagent说明的测试过版本为
IOS XCode
≥13 11.x
10.x~12.x 10.x
≥9.3 ≥9.3
关于高版本Xcode的操作经历
一开始不服,从app store直接下载了*新的Xcode11.5,使用IOS-Tagent,项目连启动都失败,执行Product -> Test过程中遇到了其他问题
仍然不服,于是想试试facebook的WebDriverAgent,毕竟IOS-Tagent是基于这个改造的,于是也就有了上篇文章WebDriverAgent踩坑-Xcode11.5
稍微不服,考虑到IOS-Tagent中在*次尝试时报错的位置是WebDriverAgentLib中的问题,而我在第二次尝试也就是上篇文章中成功通过WebDriverAgent连接了IOS设备,于是我就将IOS-Tagent中相关内容替换成了2中也就是上一篇文章中运行成功后的产物,也就是这部分文件
替换之后项目果然能够成功运行(向前前进了一大步),但是还是无法连接到Airtest IDE,也没有任何明确的报错信息
不服不行了。。去步骤一中下载了Xcode10,然后继续搞起
Xcode10使用过程中遇到的问题
本机已经有了一个Xcode了,如何安装第二个
首先到步骤一中提供的网址下载对应的xip安装包,下载好后双击就会自动验证+解压(保证磁盘空间充足才行,否则自动验证步骤失败)
然后,将解压出来的Xcode.app重命名为Xcode10.app或其他名字,不冲突即可,拖入Application中
如何让Xcode10支持高版本的IOS设备
官方提供的经测试范围是Xcode 10.x可以操作IOS10.x~12.x之间的版本,我下周的版本是Xcode10,没有小版本,*高只能支持IOS12的操作,但是我的IOS设备室
12.3和12.3.1的,所以需要额外的操作
这就需要用到之前下载的高版本Xcode11.5了,
进入之前的应用包中如下位置:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport,可以看到很多版本号的数字,代表IOS版本,把你需要的包整个文件夹拷贝到对应的你需要使用的Xcode中,例如我需要拷贝到/Applications/Xcode10.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/中
重新启动Xcode10
步骤三
项目启动成功后使用iproxy做端口转发:iproxy 8100 8100,成功即可在浏览器中http://127.0.0.1/status看到一个json串,在http://127.0.0.1/inspector中看到手机屏幕的投影。注意此处与上篇文章中的区别,上篇文章中使用的是Xcode11.5,由于版本问题,所以上篇文章中即使链接成功了也不能在浏览器中看到手机屏幕的投影,而此次能够看到:
步骤四
也是*后一步,在Airtest IDE中点击点击连接按钮即可连接上IOS设备了,终于可以愉快地直接截图操作了
步骤五
终于大功告成,可以happy一下了
步骤六
继续写用例