使用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

可以使用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实例

测试步骤:

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

Python代码:

–THE END–

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

 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

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

相关推荐