Window搭建IOS App自动化测试环境

news/2024/11/30 2:50:59/

平台搭建:tidevice(Windows逆向通信iOS工具)+WebDriverAgent(iOS通信服务)+facebook-wda(iOS测试框架)

macOS+Xcode:在手机上安装WebDriverAgent的时候需要用到,必须要Xcode工具构建,构建完就不依赖了。

工具介绍:

1、tidevice

        在window系统可以跑IOS自动化脚本,得力于tidevice这个工具,tidevice 是阿里开源的一个基于Python的iOS自动化工具,通过逆向iOS通信协议,模拟xcodebuild与手机进行通信,向手机发送特定的指令,来启动WDA,从而可以脱离Mac电脑,能够在Linux、Windows上运行iOS自动化。tidevice基于python实现了libimobiledevice中的功能。

2、WebDriverAgent

        WebDriverAgent是Facebook 在2015年的 SeleniumConf 大会上推出了一款iOS移动测试框架。它在 iOS 端实现了一个 WebDriver server ,通过这个 server 来实现远程控制 iOS 设备。它主要通过连接XCTest.framework来调用Apple的API实现对设备的操作。

WebDriverAgent采用C/S架构,集成appium使用的WebDriver协议规范,通信协议使用Mobile JSON Wire Protocol。
WDAClient:WDA的客户端,测试库facebook-wda 就是 WDA 的 Python 客户端库,通过HTTP协议(Mobile JSON Wire Protocol)与WebDriverAgent进行通信。
WebDriverAgentRunner:运行在手机上的WDA server,默认监听端口为8100,主要功能包括①接收WDAClient的请求并将操作命令发送给XCTest.framework。②将响应发送给WDA Client

3、facebook-wda

        facebook-wda 是ATX项目下面的一个子库,专门提供 iOS 应用的自动化测试,可以通过 ATX 使用这个库,当然也可以单独拿来使用。facebook-wda 这个 Python 库,通过直接构造 HTTP 请求直接跟WebDriverAgent通信。它是一个非常短小精悍的一个库,并不像 appium、macaca 还有一个中间转发服务,支持这么多的语言。虽然代码比较精炼,但是能完成的功能却非常强大。你能在 appium 里面找到的功能,这个库有提供,找不到的功能,这个库也有提供。

4、weditor

        元素定位工具,安卓、IOS都可以用

5、iTunes

        Windows连接苹果设备工具

工具下载和安装:

 iTunes:

因为iTunes里面有usbmux驱动,需要安装一下它,iTunes安装成功后,连接上你的iPhone。

  • 下载 Windows 10(64 位)版 iTunes 12.10.11
  • 下载 Windows 10(32 位)版 iTunes 12.10.11

weditor:

参考Android安装环境方法, 使用以下命令安装weditor

pip3 install -U weditor

启动weditor

 python -m weditor

tidevice:

该工具要求python环境3.6+,使用pip3命令来安装tidevice,安装成功后设置全局环境变量:

pip3 install -U "tidevice"

查看是否安装成功:

tidevice version

 查看手机信息:

tidevice info

查询应用信息:

tidevice applist

启动wda

tidevice -u [设备 udid] wdaproxy -B [wda 的 bundle Id] --port 8100 # 运行 XCTest 并在PC上监听8100端口

运行成功后打开浏览器访问: http://127.0.0.1:8100/status,会看到以下信息:

{"value" : {"message" : "WebDriverAgent is ready to accept commands","state" : "success","os" : {"testmanagerdVersion" : 28,"name" : "iOS","sdkVersion" : "16.4","version" : "16.3.1"},"ios" : {"ip" : "192.168.0.117"},"ready" : true,"build" : {"time" : "Jun  6 2023 11:05:04","productBundleIdentifier" : "com.facebook.WebDriverAgentRunner"}},"sessionId" : null
}

WebDriverAgent:

这篇文章写得很详细了,不再浪费时间了:[facebook-wda]搭建iOS App自动化环境_wda.client_LL-Dynabook的博客-CSDN博客

facebook-wda:

pip3 install -U facebook-wda

简单测试:

import wda
c = wda.Client('http://localhost:8100')  # DEVICE_URL
c.session().app_activate("com.apple.Preferences")  # 打开设置
c.sleep(2)
c.home()

具体详细方法可以看官方文档:GitHub - openatx/facebook-wda: Facebook WebDriverAgent Python Client Library (not official)

以上环境搭建完成了,可以去写ios app自动化脚本了。

备注:

  •     部署iOS测试平台需要苹果开发者证书,现在使用个人Apple ID登陆即可,不需要另外注册付费开发者账号
  •     个人版的免费证书,每隔7天左右,要手动更新开发者证书;
  •     需要手动的在iPhone中选择信任证书,通用->设备管理->选择信任;
  •     最多支持3台设备;

建议:使用公司的企业账号或个人收费账号测试(企业账号可以绑定100台也不需要更新证书),不然很头疼


 


http://www.ppmy.cn/news/247573.html

相关文章

Barsetto百胜图BAV01办公首选咖啡机

在重要客户到访时,一杯醇香地道的好咖啡,可以给予客户轻松的感觉,同时也能彰显公司的品味。在激烈的谈中,有时候有点枯燥和乏味,来一杯芳香四溢的咖啡,可以提高谈判效率。下午时间,员工疲惫而无精打采的状态,容易影响工作进度,让员工能喝到好的咖啡提高工作效率也是…

Barsetto百胜图自助咖啡机你身边的咖啡大师

在忙碌的都市生活中,惺忪的早晨或倦怠的午后来一杯香浓的咖啡瞬间就能提神醒脑焕发激情。而如何快速又简单的获取到高品质的现磨咖啡,一直是Barsetto百胜图在探索的领域。 在一些公共场景中,通常使用的人数较多,口味的需求也是繁…

百胜图Barsetto自助咖啡机畅享咖啡新生活

无论何时,一杯新鲜的咖啡可以让疲惫的人变得神采奕奕;无论何地,一杯香浓的咖啡可以使一颗漂泊的心变得温暖。满足人们随时随地的咖啡需求,正是Barsetto百胜图BAV02自助咖啡机诞生的意义。 咖啡需求遍布每个地方,Barset…

Barsetto百胜图咖啡机商用咖啡机实力品牌

商用咖啡机在中国市场已被广泛应用,随着80后、90后年轻一代成为职场的主力,随着商用咖啡机需求日益加大,商用咖啡机品牌也开始层出叠现。来自意大利的专业咖啡品牌Barsetto百胜图推出了BAV01商用咖啡机,受到了消费者的一致认可。 如今的都市年轻人,更加懂得追寻品质…

【MySql】数据库的备份与恢复

文章目录 前言备份mysqldump还原source注意事项查看连接情况 前言 对与数据库的备份与恢复该怎么去做呢? Linux下对于文件或目录的备份,直接拷贝一份,留着备用,对于备份,比较简单的做法会就是直接打包拷贝一下&#x…

Barsetto百胜图全自动美式磨豆咖啡机测评

时下,咖啡已经成为越来越多的中国消费者日不能离的必须消费品之一,越来越多的人开始追寻咖啡的口感和品质,大家不愿意再喝速溶咖啡,因为担心速溶咖啡长期喝会对身体健康产生影响,而且速溶咖啡的口味也太差了。因此&…

您好,您的咖啡机需要更新了——Barsetto百胜图BAA122美式全自动磨豆咖啡机评测

随着生活品质的提高,一些咖啡瘾者的追求早就不再是一杯速溶咖啡或者是外卖咖啡的水平线上了,人们的嘴开始变得挑剔,自然新鲜现磨的高品质咖啡更受到追捧和青睐。 那么,想要喝到好咖啡你还在用老式的方式煮咖啡吗?手冲…

Barsetto百胜图TripressoES意式便携咖啡机测评,咖啡随行玩味无穷

户外旅行时来一杯咖啡,风景和美味相融合,旅途将变得更加的有味;朋友相聚来一杯咖啡,烦恼和压力瞬间被释放,休闲的日子将变得更加美好;出差旅途中来一杯咖啡,寂寞在醇香中升华,内心变…