版本需求:
Mac Xcode ≥ 9.3iPhone iOS ≥ 9.3在 9.3≤iOS≤10时,由于基于旧版xcode SDK,建议使用Xcode 版本≤10.1来启动iOS-Tagent,否则会出现手机截屏不全的问题。2.启动代理,在命令行下执行iproxy 8100 8100运行代理后,可以在浏览器打开 http://127.0.0.1:8100/inspector ,查看iOS设备是否能成功连接。
3.在 AirtestIDE 的设备窗口,输入地址:http://127.0.0.1:8100 或 http://x.x.x.x(MAC IP):8100:
点击Connect按钮即可连接iOS设备,如图:
Xcode中的iOS Simulator模拟器部署过程和真机一样,但是可以省略步骤2,不需要另外执行proxy。
当Xcode的log窗口看到下面内容的时候,就可以直接用地址 http://x.x.x.x:8100 进行连接了,也就是log里显示出来的ServerURLHere中的地址:
我们同样能够在Windows上连接一个远程的iOS设备,但是依然需要有Mac电脑与Xcode环境。首先按照上文的部署教程在Mac上启动iOS-Tagent之后,不再使用iproxy启动代理,而是改用 wdaproxy。因为iproxy只支持本机端口的映射,而wdaproxy能够支持远程IP映射,这意味着可以在第二部PC上,通过访问ip的方式访问到Mac电脑上连接的iOS设备。
iOS 的测试和其他设备差不多,支持图像识别和UI检索,下面简单介绍一个iOS测试例子:
连接设备点击home键截屏执行滑动操作使用poco点击app Safari使用poco点击浏览器的搜索框,获取焦点在搜索框输入“airtest”在搜索页面往下滑动判断是否存在airtest官网地址 from airtest.core.api import * from poco.drivers.ios import iosPoco poco = iosPoco() auto_setup(__file__) connect_device("ios:///x.x.x.x:8100") keyevent("HOME") snapshot() swipe(Template(r"tpl1561985939879.png", record_pos=(0.356, -0.174), resolution=(750.0, 1334.0)), vector=[-0.685, 0.0481]) poco("Safari").click() poco("URL").click() text("airtest") poco("People also search for").swipe([-0.0541, -0.4206]) exists(Template(r"tpl1560844284543.png", record_pos=(-0.292, 0.688), resolution=(750, 1334)))如何在模拟器安装应用
tips: 不可以把真机 app 包安装在iOS模拟器上,真机的app是基于arm的,而模拟器是运行在 X86 指令集上的,强行安装会导致闪退的问题。
把xx.ipa 改成xx.zip,解压得到xx.app打开模拟器, 在终端运行 xcrun simctl install booted xx.app如何进行iOS多机测试 目前暂未开放iOS多机测试功能,敬请期待
Api 支持状况 请注意,iOS设备与Android设备有很大的不同,以下通用的 Airtest 的 API 在iOS上都是支持的:
但是以下API是不支持的:
start_app: OKstop_app: OKsnapshot: OKhome: OKtouch: OKswipe: OKtext: OKwait: OKexists: OKfind_all: OKassert_exists: OKassert_not_exists: OKwake: 暂未支持 (考虑用home方法替代)keyevent: 只支持home 事件clear_app: 暂未支持install: 暂未支持uninstall: 暂未支持