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

fishfish-yu · 2021年03月18日 · 最后由 fishfish-yu 回复于 2023年04月26日 · 8316 次阅读

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

呀~这么认真都看到这里啦,帮忙点击左下角的爱心,给我点个赞支持一下把,灰常感谢~

共收到 15 条回复 时间 点赞

② 使用 tidevice 的安装命令,将开发者证书重签名的 WebDriverAgent.ipa 安装到 iOS 设备上。
只有 win 怎么安装 wda 应用到 iOS 上,证书有

阿三 回复

确定你的包是重签名的,可以使用 tidevice 安装 ipa 的命令,把你的 wda.ipa 推到你的 iOS 设备上

fishfish-yu 回复

在 win 上有重签名 ipa 的方法吗?

阿三 回复

目前应该是的,后面能不能突破就不好说了

16楼 已删除

想问下,windows 平台下是否可以定位 ios app 的元素定位,用的什么工具

回复

用文中的 AirtestIDE 就行,1.2.8 版本,连接上 iOS 设备之后,在左下角的 poco 辅助窗种选择 iOS 模式,可以查看 iOS 原生应用的控件树

fishfish-yu 回复

用 appium 得 inspector 可以了

DeviceIdentifier 可以在启动的信息中查看 ------ 请问这个启动信息指的是哪里,实在没找到 DeviceIdentifier 这个值

德子 回复

tidevice xctest,这个命令作用是启动,文章标题也写了 “指定 BundleID 启动”,运行启动命令之后,刷出来的东西就是启动信息了

fishfish-yu 回复

非常感谢哈

17楼 已删除



请问出现这种情况,windows 无法启动 wda 如何解决,以前可以启动的,今天图突然就不行了

ads 回复

证书过期,不可用了吧

fishfish-yu 回复

想问下是什么命令

xiaoyejun 回复

是指连接 iOS?文章有详细阐述的

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册