当前位置:网站首页>使用tidevice启动WDA
使用tidevice启动WDA
2022-06-21 16:55:00 【测试加】
背景
在之前的文章中,介绍了iOS自动化工具tidevice初探。使用tidevice可以对iOS设备进行截图、查询设备等交互操作。
提到iOS自动化测试中,都离不开WebDriverAgent,但是WebDriverAgent必须依赖在Mac系统上编译和运行,如果没有Mac的话,基本上告别做iOS自动化。
tidevice还有一个高级功能,号称不依赖xcode启动WebDriverAgent,这个工具就可以做到,并且可以在Windows、Linux上执行。
启动WebDriverAgent
第一步用数据线将iPhone手机连接到PC上,另外还需要手机上已经有WebDriverAgent这个App了。
使用xcode编译WebDriverAgent源码安装,或者也可以用开发者证书重签名的WebDriverAgent.ipa安装到手机。
这里我们使用WebDriverAgent源码编译安装,下载地址如下:
git clone https://github.com/facebookarchive/WebDriverAgent
WDA介绍
安装依赖
./Scripts/bootstrap.sh
安装依赖
设置签名账号,需要一个苹果开发者账号。
设置Product Bundle Identifier签名
编译WebDriverAgent,点击test按钮后进行编译并且安装到手机上。
image
接下来,启动就是一个命令tidevice xctest或者指定执行设备和bundleId。
启动命令如下:
tidevice -u $UDID xctest -B $BUNDLE_ID(WDA的包名)
tidevice -u 20b1ce3fd4fdc433a48bc774e2b0c47014e61f1c xctest -B com.facebook.WebDriverAgentRunner.testxinxi.xctrunner
启动WDA成果
使用facebook-wda做自动化测试
Facebook WebDriverAgent Python客户端实现的API, 可以对iOS设备进行一些操作: 截图、点击、返回等操作。
官方地址: https://github.com/openatx/facebook-wda
安装命令: pip3 install -U facebook-wda
代码例子:
import wda
c = wda.USBClient()
print(c)
print(c.info)
c.home() # home键盘
print(c.app_current()) # 打印当前app
c.screenshot('screen.png') # 截图
打印数据如下:
结语
文本介绍了使用tidevice启动WDA,有个这个功能的加持,就可以在windows或者linux系统上跑UI自动化测试了。由于我手头上没有windows笔记本,下篇文章中我会介绍使用树莓派内置linux系统执行UI自动化测试,敬请期待吧~
边栏推荐
- 原码、补码、反码的关系
- 快速失败和安全失败的区别
- 字节流量生意经:变现趁早、缝钱袋子、All in卖货
- 【微服务|Nacos】Nacos实现分布式配置中心进阶版
- EtherCAT对象字典分析
- Fishman: telecom customer churn prediction game scheme!
- 2022年高处安装、维护、拆除上岗证题库及模拟考试
- Can I use line as a product term in the cable industry? Generally not used
- Leetcode 1108 IP address invalidation [violence] the leetcode path of heroding
- Node的模块导入方式
猜你喜欢

Typescript的通用类型检查

Byte traffic business experience: realize as soon as possible, sew money bags, and sell all in goods

Stack awareness - stack overflow instance (ret2libc)

企业高管收入杂谈

缓存型数据库Redis的配置与优化

编写第一个C#应用程序——Hello, C#

Vue. js+Node. JS full stack development tutorial: connecting to MySQL

EtherCAT igh源码的ecrt_slave_config_dc()函数的理解。

How to create your own AI creativity?

C语言与Lua的交互(实践三)
随机推荐
国元期货开户可靠吗?新手如何安全开户?
堆栈认知——栈溢出实例(ret2libc)
Node的url模块
Paper notes ACL 2022 unified structure generation for universal information extraction
原码、补码、反码的关系
C语言与Lua的交互(实践三)
Stack awareness - stack overflow instance (ret2libc)
CANN训练营第二季-开营仪式 | 今晚七点半准时开播,不容错过!
On two years' study experience in University
POSIX create terminate thread
Gartner 网络研讨会 “九问数字化转型” 会后感
企业高管收入杂谈
Byte Jump propose un nouveau type de réseau léger et efficace, mobovit, qui surpasse GhostNet et mobilenetv3 dans la classification, la détection et d'autres tâches CV!
STM32F1与STM32CubeIDE编程实例-线性霍尔效应传感器驱动
服务端socket程序
I got a pay cut in disguise
在国元期货开户做期货安全吗?
泰克示波器TCP202电流探头的使用说明
EtherCAT igh函数尝试
C语言dll动态链接库