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

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

前言



前段时间阿里开源了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:


网络异常,图片无法展示
|


网络异常,图片无法展示
|

相关文章
|
2天前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
57 16
Selenium:强大的 Web 自动化测试工具
|
20天前
|
JavaScript 前端开发 开发者
探索 DrissionPage: 强大的Python网页自动化工具
DrissionPage 是一个基于 Python 的网页自动化工具,结合了浏览器自动化的便利性和 requests 库的高效率。它提供三种页面对象:ChromiumPage、WebPage 和 SessionPage,分别适用于不同的使用场景,帮助开发者高效完成网页自动化任务。
96 4
|
26天前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
27天前
|
运维 Ubuntu 应用服务中间件
自动化运维工具Ansible的实战应用
【10月更文挑战第36天】在现代IT基础设施管理中,自动化运维已成为提升效率、减少人为错误的关键手段。本文通过介绍Ansible这一流行的自动化工具,旨在揭示其在简化日常运维任务中的实际应用价值。文章将围绕Ansible的核心概念、安装配置以及具体使用案例展开,帮助读者构建起自动化运维的初步认识,并激发对更深入内容的学习兴趣。
52 4
|
29天前
|
运维 监控 数据安全/隐私保护
自动化运维工具的设计与实现
【10月更文挑战第34天】在现代IT基础设施管理中,自动化运维工具扮演着至关重要的角色。它们不仅提高了运维效率,还确保了服务的连续性和稳定性。本文将深入探讨如何设计并实现一个自动化运维工具,从需求分析到功能实现,再到最终的测试与部署。我们将通过一个简单的代码示例来展示如何自动执行常见的运维任务,如日志清理和性能监控。文章旨在为读者提供一套完整的方法论,以便他们能够构建自己的自动化运维解决方案。
|
2月前
|
项目管理 iOS开发 UED
Mac用户必备的任务管理软件!三款高效工具推荐
本文介绍了Mac系统在项目管理和任务管理方面的独特优势,包括用户体验、系统生态整合和隐私安全等方面。针对Mac用户的需求,推荐了三款高效任务管理软件:板栗看板、OmniFocus和Things 3。板栗看板适合团队协作,OmniFocus适合高需求的个人用户,Things 3则以简洁美观的界面和易用性著称。文章详细分析了每款软件的特点和适用场景,帮助用户选择最合适的工具。
68 6
|
2月前
|
iOS开发 索引 MacOS
mac文件搜索工具
【10月更文挑战第11天】
|
2月前
|
JavaScript 前端开发 搜索推荐
Gulp:构建自动化与任务管理的强大工具
【10月更文挑战第13天】Gulp:构建自动化与任务管理的强大工具
79 0
|
3月前
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错