AirtestProject 脱离 Mac 搞 iOS 自动化,tidevice 工具教你轻松实现!
此文章来源于项目官方公众号:“AirtestProject”
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途
前言
前段时间阿里开源了 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 文档:https://github.com/alibaba/taobao-iphone-device 。
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:
Airtest 官网:http://airtest.netease.com/
Airtest 教程官网:https://airtest.doc.io.netease.com/
搭建企业私有云服务:https://airlab.163.com/b2b
官方答疑 Q 群:654700783
呀~这么认真都看到这里啦,帮忙点击左下角的爱心,给我点个赞支持一下把,灰常感谢~