本文首发于:行者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加载库。
编辑脚本