脱离 Mac 搞 iOS 自动化,tidevice 工具教你轻松实现!

2,406 阅读2分钟

此文章来源于项目官方公众号:“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

1.png

查看设备上的第三方应用包名:

tidevice applist

2.png

指定设备安装:

# $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

image

3)指定BundleID启动
tidevice xctest -B com.gameappium.WebDriverAgentRunner.xctrunner

image

4)在IDE的设备连接窗口连接iOS设备

打开最新版的IDE(1.2.8版本),在连接iOS设备框中输入:

# DeviceIdentifier可以在启动的信息中查看
http+usbmux://DeviceIdentifier

最后点击连接即可:

image

此时即可在IDE中实时看到iOS的设备画面,并且对该设备进行自动化测试:

image

5)补充另一种启动方式
tidevice wdaproxy -B com.gameappium.WebDriverAgentRunner.xctrunner --port 8200

与步骤3)中的xctest启动方式不同的是,使用wdaproxy启动之后,我们可以在浏览器中使用 http://localhost:8200/status 来访问到这个iOS:

image

image


AirtestIDE下载:airtest.netease.com/
Airtest 教程官网:airtest.doc.io.netease.com/
搭建企业私有云服务:airlab.163.com/b2b

官方答疑 Q 群:654700783

呀,这么认真都看到这里啦,帮忙在文章左侧点一下点赞和收藏,给我一个支持把,灰常感谢~