AirtestProject测试框架

1,227 阅读3分钟

本文首发于:行者AI

AirtestProject是一款自动化测试框架,该项目包括:Airtest、Poco、AirtestIDE。

Airtest是一个跨平台的基于图像识别的UI自动化测试框架;Poco是一个跨平台的UI自动化框架;AirtestIDE是跨平台的UI自动化测试编辑器,内置了Airtest和Poco的相关插件功能。详细介绍可以参考官方文档:Airtest.doc.io.netease.com/

1. Airtest工具介绍

1.1 安装Airtest

前往官网下载并解压,路径不要出现中文。解压后选择目录下的AirtestIDE.exe后启动软件。下载网址:Airtest.netease.com/index.html

启动Airtest

AirtestIDE工具界面

1.2 脚本编辑窗

编写脚本,可以使用辅助窗的预设命令。

1.3 设备连接窗

显示连接的设备,可以直接在窗口操作手机。

1.4 连接手机

手机进入开发者模式,打开USB调试模式。可以在设备窗查看设备型号,手机连接上了电脑设备状态会显示为connect。点击设备型号可以实时显示手机屏幕的内容。

1.5 Airtest辅助框

命令解释
touch点击指定位置
wait等待指定的图片出现后进行下一步操作
swipe滑动
text文字输入
keyevent按键输入,包括(HOME/BACK/MENU等)
snapshot截屏
sleep等待指定时间

1.6 Poco辅助框

默认为stop,可选择不同的平台,使用Poco时,需要在电脑上安装Poco,并把Poco-sdk集成到游戏里。如果项目里没有集成Poco-sdk则无法使用Poco的ui渲染树功能。

如图:

对于不同品牌的手机,连接Airtest时,需要的权限和设置都会不同。以小米手机为例:需要在开发者模式下,进入开发者选项里,打开usb调试,而usb安装(影响用户通过PC端向手机端安装应用)和USB调试(安全模式)(影响开发者执行自动化脚本)则需要登录小米账号。具体的设备特殊问题可以看官方文档:Airtest.doc.io.netease.com/IDEdocs/dev…

连接模拟器则在模拟器上打开USB调试,然后使用远程设备连接,输入'adb connect 127.0.0.1:',加上对应模拟器使用的端口号即可连接。

2. Airtest工具的使用

2.1 使用Airtest框架来测试

点击左上角的文件,新建脚本,可以选择air脚本或者py脚本。在脚本编辑窗输入脚本,可以使用Airtest辅助窗的控件。测试结束后使用“ctrl+L”可以查看报告。

2.2 使用selenium框架测试web应用

推荐使用chrome浏览器,需要下载chromedriver在对应的安装路径下,与exe文件同一文件层级。

脚本设计:

from  selenium import webdriver #导入webdriver库
import time    #导入库
driver = webdriver.Chrome()  #重命名
driver.get("网址") #打开对应网址 

元素定位:

命令解释
find_element_by_id()根据id进行查找
find_element_by_name()根据名字查找
find_element_by_class_name()根据类名查找
find_element_by_link_text()根据连接文本查找
find_element_by_tag_name()根据标签名查找
find_element_by_xpath()根据路径查找
find_element_by_css_selector()根据CSS选择器查找

键盘操作:

命令解释
send_keys(Keys.BACK_SPACE)删除键
send_keys(Keys.SPACE)空格键
send_keys(Keys.TAB)制表键
send_keys(Keys.ESCAPE)回退键
send_keys(Keys.ENTER)回车键
send_keys(Keys.CONTROL,'a')全选
send_keys(Keys,'c')复制
send_keys(Keys,'x')剪切
send_keys(Keys,'v')粘贴

2.3 使用Poco来测试移动app应用

手机打开开发者模式和USB调试,安装对应Poco程序。模拟器使用adb连接。连接后在设备窗可以查看。在Poco窗选择android,脚本编辑窗会有加载Poco库的提示,选yes加载库。

编辑脚本


PS:更多技术干货,快关注【公众号 | xingzhe_ai】,与行者一起讨论吧!