facebook-wda 是一个基于Python的测试库,通过HTTP协议与WebDriverAgent通信,本文介绍如何使用 facebook-wda 进行iOS APP自动化测试。
环境准备
使用 facebook-wda 之前需要满足如下条件:
-
手机安装 WebDriverAgent应用
- 可以使用xcodebuild启动WDA(需要MAC电脑)
- 也可以使用 tidevice 启动,它可以在Linux 、Windows和MAC上使用
-
电脑安装facebook-wda:
在windows上搭建iOS自动化测试环境可参考: Windows上实现iOS APP自动化测试:tidevice + WebDriverAgent + facebook-wda / appium
本文使用tidevice启动WDA:
可以使用weditor查看UI元素,注意使用它之前要启动WDA。
命令窗口输入weditor,会自动打开一个浏览器,选择iOS。
环境准备好后就可以使用 facebook-wda 进行iOS APP自动化测试了。
初始化
全局配置
DEBUG设置为 时会显示HTTP请求和响应信息
创建一个客户端
也可以使用USBClient连接设备:
注:初始化连接设备时不需要事先使用tidevice命令启动WDA,wda.Client()会自动启动WDA应用。
设备操作
等待WDA服务正常
锁屏
回到手机主页面
增大降低音量
打开、停止App
打开APP
停止APP:
获取app状态:
获取设备应用信息
查看设备状态信息
获取应用信息
当前应用信息
获取设备信息
设备信息
电量信息
分辨率:
UI元素定位
基本选择器
通过属性值定位:
id
className
name
value
label
也可以组合多个属性,可以组合的属性包括:className、name、label、visible、enabled。
子元素
多个实例
返回所有匹配到的元素
使用index来选择匹配到的多个元素
XPath定位
更多xpath语法可参考 Web自动化测试:xpath & CSS Selector定位
Predicate定位
Predicate定位是iOS原生支持的定位方式,定位速度比较快,它可以通过使用多个匹配条件来准确定位某一个或某一组元素。
更详细的Predicate语法及定位示例可参考: iOS APP自动化:predicate定位方法介绍
classChain定位
classChain是Predicate和Xpath定位的结合,搜索效率比XPath更高。
更详细的使用方法参考: iOS APP自动化:class chain定位方法介绍
获取元素信息
检查元素是否存在
读取UI元素的属性信息
元素操作方法
点击
点击UI元素
点击像素坐标
文本输入
文本值输入与清除
等待wait
设置隐式等待:
设置超时时间
等待元素
Alert操作
对Alert弹框进行处理
也可以监控到Alert出现后进行操作:
滑动swipe
根据像素坐标滑动
截图
设备截屏
pytest + facebook-wda实例
测试步骤:
- 打开【设置】
- 点击搜索
- 输入“NFC”
- 关闭NFC
- 断言NFC是否关闭
Python代码:
–THE END–
我之前一个人,到处找学习资料,吃尽了苦头,还遇到不少坑,所以我把我整理的学习资料都归类整理好。环境对于一个人的成长很重要,我们一起加油,互相鼓励,从此不再孤单,所以小编决定,不能再低调了,毕竟实力不允许啊!如果有小伙伴想提升自己,未雨绸缪,为自己的未来提前规划,关注我,2021最新的软件测试电子版书籍、视频、还可以找我一起交流技术。更多软件测试资源分享微信公众号:【程序员阿沐】软件测试技术交流群:810119819
逆水行舟,不进则退!共勉!软件测试与你同行!点赞是最大的支持!
来源:程序员弦羽
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!