本文首发于:行者AI
AirtestProject是一款自动化测试框架,该项目包括:Airtest、Poco、AirtestIDE。
Airtest是一个跨平台的基于图像识别的UI自动化测试框架;Poco是一个跨平台的UI自动化框架;AirtestIDE是跨平台的UI自动化测试编辑器,内置了Airtest和Poco的相关插件功能。详细介绍可以参考官方文档:https://Airtest.doc.io.neteas...
1. Airtest工具介绍
1.1 安装Airtest
前往官网下载并解压,路径不要出现中文。解压后选择目录下的AirtestIDE.exe后启动软件。下载网址:http://Airtest.netease.com/in...
启动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调试(安全模式)(影响开发者执行自动化脚本)则需要登录小米账号。具体的设备特殊问题可以看官方文档:https://Airtest.doc.io.neteas...
连接模拟器则在模拟器上打开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加载库。
编辑脚本
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。