关于AirTest的应用及操作方法

404 阅读3分钟

一、前言

1、简介

Airtest是一款基于Python的、跨平台的UI自动化测试框架,基于图像识别原理,适用于游戏和App。也可与针对目前一些测试方法进行一些精进,利用机器化语言来代替原本的手工测试。应用于数次及多次的的用例测试,以及部分需要进行反复操作一些测试方案中。

这个框架核心不在实现方式和技术上,而是理念!这个框架的祖宗是MIT(麻省理工)研究院的成果 Sikuli ,他们构思了一种全新的UI测试模式,基于图像识别控件而不是具体内存里的控件对象。理论上除了绿屏外,应该都能很好的识别并测试。(上述内容主要对标于一些基于控件识别的框架,例如appnium这样,相对上手难度较大但是相对完善程度也是极高,有兴趣可以自行学习)

2、软件准备(下载过程省略,可以直接到官网上或指定文件中下载安装)

· python3.5及以上,建议安装3.6以上(本人使用过程中使用均为Python 3.7.1)*

· pycharm

· AirTest IDE

·安卓手机或者模拟器(直接使用测试机即可)

3、学习目标

·学会AirtestIDE的基本操作

·能够使用Airtest录制自动化脚本

二、关于AirTest的一些基础操作

image.png

上图是一个关于AirTest的启动界面,接下来会针对这些部分进行详细的讲解。

·连接设备

image.png 如果出现上述情况,于操作中选择connect下拉进行选择,在这里选择第三项就可以直接进行设备连接,连接后便可以通过点击针对现在的设备进行操作,操作方法不同于较为常用的scrcpy,只能够进行点击。

· 基本操作

image.png

touch 点击某个位置,可以设定被点击的位置、次数、按住时长等参数

wait 等待某个指定的图片元素出现

swipe 从一个位置滑动到另外一个位置

exists  存在

text 调用输入法输入指定内容

keyevent 输入某个按键响应,例如回车键、删除键

snapshot 对当前画面截一张图

sleep  等待

· 断言语句

image.png

Airtest提供了assert_exists和assert_not_exists两个接口,来断言一张图片存在或不存在于当前画面中。

同时,还提供了assert_equal和assert_not_equal两个语句,来断言传入的两个值相等或者不相等。

断言在单元测试代码中非常重要,因此建议在我们的脚本里使用断言语句来判定被测应用当前的状态是否是我们预期中的状态。

·poco的基本操作

image.png

首先要勾选android(实际测试根据需要自己选择)

点击connect,即可在Airtest IDE 中看到设备屏幕。现在进入Android主界面,点击左侧的Poco辅助窗,选择Android模式,即可看到当前界面的UI树结构。

锁定是为了防止误触进行定位。

选择Poco辅助窗口中的Poco Inspector按钮,即可对页面上的UI控件进行定位。