使用facebook-wda进行iOS APP自动化测试

facebook-wda 是一个基于Python的测试库,通过HTTP协议与WebDriverAgent通信,本文介绍如何使用 facebook-wda 进行iOS APP自动化测试。

环境准备

使用 facebook-wda 之前需要满足如下条件:

  1. 手机安装 WebDriverAgent应用

    • 可以使用xcodebuild启动WDA(需要MAC电脑)
    • 也可以使用 tidevice 启动,它可以在Linux 、Windows和MAC上使用
  2. 电脑安装facebook-wda:

在windows上搭建iOS自动化测试环境可参考: Windows上实现iOS APP自动化测试:tidevice + WebDriverAgent + facebook-wda / appium

本文使用tidevice启动WDA:

可以使用weditor查看UI元素,注意使用它之前要启动WDA。

命令窗口输入weditor,会自动打开一个浏览器,选择iOS。

使用facebook-wda进行iOS APP自动化测试

环境准备好后就可以使用 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实例

测试步骤:

  1. 打开【设置】
  2. 点击搜索
  3. 输入“NFC”
  4. 关闭NFC
  5. 断言NFC是否关闭

Python代码:

–THE END–

我之前一个人,到处找学习资料,吃尽了苦头,还遇到不少坑,所以我把我整理的学习资料都归类整理好。环境对于一个人的成长很重要,我们一起加油,互相鼓励,从此不再孤单,所以小编决定,不能再低调了,毕竟实力不允许啊!如果有小伙伴想提升自己,未雨绸缪,为自己的未来提前规划,关注我,2021最新的软件测试电子版书籍、视频、还可以找我一起交流技术。更多软件测试资源分享微信公众号:【程序员阿沐】软件测试技术交流群:810119819

逆水行舟,不进则退!共勉!软件测试与你同行!点赞是最大的支持!

 

来源:程序员弦羽

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年9月21日
下一篇 2021年9月21日

相关推荐