前言
前段时间阿里开源了1个用来做iOS自动化的工具-- tidevice ,官称该工具能实现不依赖 xcode 启动 WebDriverAgent 完成设备连接。
Airtest小组肯定不能错过这么有趣的工具拉!一顿体验下来,发现真的很香!!!这下子同学们不用非得使用Mac挂着xcode,用Windows也可以启动苹果上的 WebDriverAgent 了。
话不多说,今天我们就一起来看看,如何结合 tidevice 工具和Windows平台上的AirtestIDE进行iOS自动化。
准备工作
1)安装tidevice库
在本地python环境中,使用 pip install tidevice
命令安装 tidevice 库。
需要注意的是,目前 tidevice 库仅支持安装在python3.7及以上版本中。
2)常用的tidevice命令
查看已连接设备:
tidevice list 复制代码
查看设备上的第三方应用包名:
tidevice applist 复制代码
指定设备安装:
# $UDID可以使用tidevice list命令查看 tidevice -u $UDID install D:/test.ipa # 或者 tidevice -u $UDID install https://example.org/example.ipa 复制代码
更多详细的功能可以查看 tidevice 的github文档:github.com/alibaba/tao… 。
3)确保手机上已经安装上WebDriverAgent
对于未跑过自动化的iOS设备,我们需要先检查设备上是否安装好了WebDriverAgent这个APP,如未安装,则可以通过以下2种方式安装:
① 将iOS设备与一台Mac连接,然后使用xcode编译源码安装,成功安装WebDriverAgent即可脱离Mac;
② 使用tidevice的安装命令,将开发者证书重签名的 WebDriverAgent.ipa 安装到iOS设备上。
在IDE连接tidevice启动的iOS
1)用数据线将iOS设备与Windows电脑连接
2)查看设备里WebDriverAgent的BundleID
tidevice applist 复制代码
3)指定BundleID启动
tidevice xctest -B com.gameappium.WebDriverAgentRunner.xctrunner 复制代码
4)在IDE的设备连接窗口连接iOS设备
打开最新版的IDE(1.2.8版本),在连接iOS设备框中输入:
# DeviceIdentifier可以在启动的信息中查看 http+usbmux://DeviceIdentifier 复制代码
最后点击连接即可:
此时即可在IDE中实时看到iOS的设备画面,并且对该设备进行自动化测试:
5)补充另一种启动方式
tidevice wdaproxy -B com.gameappium.WebDriverAgentRunner.xctrunner --port 8200 复制代码
与步骤3)中的xctest启动方式不同的是,使用wdaproxy启动之后,我们可以在浏览器中使用 http://localhost:8200/status 来访问到这个iOS: