被测应用无需做任何修改,使用不再局限于Mac上
发表时间:2023-11-12 09:03:26
文章来源:炫佑科技
浏览次数:144
菏泽炫佑科技
被测应用无需做任何修改,使用不再局限于Mac上
注:此处测试的应用程序不需要任何修改,其使用不再仅限于Mac。
开源地址:
我能为你做什么?
熟悉该工具集的同学可能知道上面提到的大部分功能。 为了方便日常使用,现有的功能也被重新实现(例如截图、查看日志、安装应用程序),以便您可以完成所有日常任务。 相关操作。
除了这些众所周知的功能外,还可以完成iOS设备的WDA启动和性能采集。
可能有些人不知道WDA是什么,这里简单介绍一下。 WDA的全称是一个为了实现黑盒iOS自动化而推出的项目。 该项目作为 iOS 手机上的应用程序运行。 被测应用程序无需进行任何更改(例如访问SDK)即可进行非侵入式测试。 唯一不方便的是手机必须连接Mac电脑,并且WDA App只能使用Mac上才有的功能运行,这也导致其推广困难。
本文将重点介绍如何完成WDA的启动。 原理比较简单:通过模拟与手机通信,向手机发送特定指令启动WDA,就可以摆脱Mac的限制,在Linux和iOS上运行iOS自动化。 在本发明出现之前,这些都是不可能的。 。
安装
因为是一个项目,一条命令就可以完成安装pip3 -U。 安装完成后,执行几条命令测试一下,查看版本列表即可查看已连接的设备。
常用命令
安装应用程序
.ipa 通过 URL 安装应用程序(实际使用时必须将 URL 更改为正确的 URL) 应用程序启动 com.apple。 .jpg 查看系统日志和其他常用命令。 查看帮助命令。 基本上所有常用的命令都有-h。
启动
目前,iOS*流行的黑盒自动化方法是通过WDA实现的。 在它出现之前,WDA只能通过启动,并且需要Mac才能运行它。
它不通过,而是直接与手机上的服务通信,完成手机上WDA的启动。 不同平台上都有开源实现,因此不仅可以在Mac上运行被测应用无需做任何修改,使用不再局限于Mac上,也可以在Linux上运行。
当然,苹果不会直接告诉我们有关通信协议的信息。 不过自动化软件开发,由于它本身就是一个,我们可以直接截获它的内容,并且基于开源社区现有的成果,它的大部分内容已经被破解。 先用它启动一次WDA,然后找到关键的通信内容,然后用它来模拟播放,然后丢弃。 与启动相比,由于通讯内容更加精简,启动速度更快(2s左右),也更稳定。
讲了很多理论,我们来看看如何使用。
先决条件
数据线连接手机和电脑
您的手机上已经安装了此应用程序。 可以通过使用 xcode 编译源代码来安装,也可以使用使用开发人员证书重新签名的 .ipa 将其安装在手机上。
Linux默认没有这个服务,所以可以提前安装。 你可以参考这个问题:
如果前提条件满足,执行如下命令启动WDA。
验证 WDA 是否工作的*简单方法是打开浏览器,网址::8100/ 如果可以看到以下输出,则说明 WDA 工作正常。
或者直接使用调度
跑步
有些用户可能开发能力较强,习惯直接使用OC或Swift编写UI自动化用例。 也支持pass。我在网上找到了一个OC写的demo工程。 使用xcode编译安装到手机上后,有两个应用程序。
执行测试的应用程序 被测应用程序
只需使用以下命令来执行
---id .. ----id 。
将被测应用程序和执行测试应用程序打包成ipa后,可以在多部手机上运行。
总结
目前这个项目在阿里巴巴内部使用得很好,希望大家能收到更多的反馈。 如果效果好的话希望能留下你的Star