小程序自动化测试工具之AirTest
01、背景
之前一直做 WEB UI与接口,最近有个自动化测试项目,是小程序,本来打算采用 Appium来做,但是经过实践我放弃了,Appium用于 App 测试比较多,对于小程序,好多人建议用 AirTest,由于不了解 AirTest,对于新工具,我们如何何用呢?
02、什么是 AirTest
Airtest是由网易游戏推出的一个跨平台的,基于图像识别的 UI 自动化测试框架,它适用于游戏和应用程序,支持的平台有 Windows、 Android 和 iOS。
Airtest提供了丰富的API,包括安装应用、模拟输入、断言等。可结合python脚本进行自动化。测试脚本运行后可以自动生成详细的HTML测试报告,遗憾的是不支持 Java,如果你需要使用 AirTest,那么建议你最好去学习下 Python 基础知识。
03、Airtest 与 Poco
Airtest:基于Python的、跨平台的UI自动化测试框架,基于图像识别原理,适用于游戏和App。优点:
简单直接
兼容各种环境
无需嵌入代码
Poco:基于UI控件搜索的自动化测试框架,其核心优势是除了对Android、IOS之外,对游戏也是支持的,同时也支持微信小程序、微信小游戏和H5应用。优点:
控件识别更加准确
界面迭代影响小
04、Airtest下载与安装
官网地址:
http://airtest.netease.com/changelog.html
Windows直接下载压缩文件后解压即可使用
Mac下载 dmg 文件安装后即可使用
安装 Python 环境,建议安装 Python3
说明
在测试 App 或小程序时,需要手机连接到电脑,所以会用到 adb,AirTest有自带 adb,所以无需额外安装,adb 所在目录:
D:\ProgramFiles\AirtestIDE-win-1.2.8\AirtestIDE\airtest\core\android\static\adb\windows
05、Airtest 界面介绍
打开 Airtest 后可以不注册,直接点击 skip,当然你也可以用 github 账号登录
点击菜单栏选项,可更改语言为中文
手机用 USB 连接到电脑后,会在右侧设备窗显示,点击 connect,即可连接
Airtest 辅助窗显示相关 airtest Api
Poco 辅助窗显示UI树(点击三角符号选择 Android)
注
软件部署成功之后,连接设备之后,设备端会生成两个插件,Yosemite和PocoService。
点击 connect,如果界面一闪而过,可以点击三角符号,选择某一种连接方式后再点击 connect
06、Airtest 项目实战
1.打开 app
start_app('com.tencent.mm')
2.等待
# 方式一
sleep(3)
# 方式二
# 在给定时间内等待一个UI出现并返回这个UI,如果已经存在画面中了那就直接返回这个UI。
# 如果超时了还没有出现,同样也会返回,但是调用这个UI的操作时会报错,返回True 或 False
poco(text='通讯录').wait(5).exists()
3.断言
flag0 = poco(text='通讯录').wait(5).exists()
assert_equal(flag0,True,'校验微信是否启动成功')
4.滑动
# 前两个参数为滑动的前后两个坐标,duration为滑动的时间,坐标为百分比
poco.swipe((0.1,0.1),(0.1,0.5),duration=0.1)
5.点击
# 表示点击控件name名称为“android.widget.EditText”的控件;
poco('android.widget.EditText').click()
# 表示点击控件text名称为“美团外卖”的控件;
poco(text='美团外卖').click()
# 按坐标点击
touch([985,278])
# 表示双击x为200,y为500的位置点,默认双击事件为0.01秒;
touch([985,278],times=2)
6.文本输入
# 表示在name名称为“android.widget.EditText”的控件处输入文字:烧烤
poco ('android.widget.EditText').set_text('烧烤')
# 用 text
text("烧烤")
# 点击软键盘上面的search按钮则为 True
# 输入后不需要回车则 enter 为 False
text("烧烤",enter=False,search=True)
7.获取控件文件
# 获取控件name为com.tencent.mm:id/bqq控件的文本
poco('com.tencent.mm:id/bqq').get_text()
8.退出应用
# 退出应用
stop_app('com.tencent.mm')
9.清空应用数据
# 清空应用数据(慎用)
stop_clear('com.tencent.mm')
07、官方参考文档
https://poco.readthedocs.io/zh_CN/latest/index.html
https://airtest.doc.io.netease.com/
https://juejin.cn/user/1275089221067928
小程序自动化测试工具之AirTest相关推荐
- Airtest微信小程序自动化测试
Airtest微信小程序自动化测试有2种,一种手机连接电脑测试,另一种模拟器连接电脑测试,本文章此次是安卓模拟器连接电脑测试,然后配置好Java环境 1.去Airtest官网下载此软件 airtest ...
- 百度/微信小程序自动化测试
目 录: 1. 小程序自动化方案1.1 小程序的基本构成1.2 原生组件定位之UiSelector1.2.1 原生组件定位之UiSelector1.2.2 web元素定位1.3 小程序自动化准备1.3 ...
- 小程序 text decode 真机无效_【移动端测试】APP自动化测试案例2:微信小程序自动化测试...
APP自动化测试之案例:微信小程序自动化测试 1.前提 基于win10专业版64位系统+jdk1.8+python3+pycharm+android SDK+appium+unittest. 2.痛点 ...
- 03-13 微信小程序自动化测试
小程序的运行环境 准备工作 设置 chromedriver 正确版本 设置 chrome option 传递给 chromedriver 使用 adb proxy 解决 fix chromedrive ...
- 微信 小程序 python 渲染_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...
本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版,进阶学习文末加群! 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序. ...
- python 自动化微信小程序_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...
原标题:干货 | 微信小程序自动化测试最佳实践(附 Python 源码) 本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善, ...
- 小程序自动化测试框架原理剖析
百度智能小程序,是 H5 和 Native 技术结合的产物,运行在百度 APP.爱奇艺等支持百度智能小程序运行的宿主 APP 上.因此,很难用既有的端自动化测试工具(如,Appium 等).或者 H5 ...
- 微信小程序自动化测试——录制回放
前文 微信小程序自动化测试--智能化 Monkey 提到Monkey虽然使用简单方便,但是不支持输入文本,页面逻辑校验等操作.如果用户希望做自动化回归测试,那么必然会涉及到逻辑相关校验点,这时候可以尝 ...
- 微信小程序自动化测试——自定义测试(Minium)
前文 微信小程序自动化测试--录制回放 提到录制回放 支持输入,文本查找,断言等自动化测试基础操作,无需编写代码,用例生成效率高,但是部分操作不支持,对复杂业务场景有局限性.如果用户希望适用复杂的业务 ...
最新文章
- 关于bcp的那些事儿
- centos 7使用tar包安装ansible
- LeetCode:Sudoku Solver Valid Sudouku
- python 合并word文件_python自动化办公(1)—— 批量合并word文档
- 安卓案例:View动画——弹球碰壁
- lisp读点坐标绘多义线_AutoCAD中多义线的坐标标注
- Android SharedPreferences
- PMP考试教材是什么?有几本?
- ListView嵌套GridView使用解析
- 【抓包】Xposed+JustTrustMe关闭SSL证书验证
- OpenCV4学习笔记(27)——轮廓的最大内接圆
- hdu 6638 Snowy Smile
- 半加器设计(结构描述法)
- 鸿蒙os系统测评,鸿蒙OS 2首批评价出炉,看已升级用户都怎么说的
- Node.js实现支付宝H5支付
- 论文写作 16: 图片与图摘要
- 【Unity3d】 制作游戏主菜单 GUI
- 记一款游戏--《程序员升职记》
- yuv 10bit 8bit
- 【自动驾驶】高精地图在无人驾驶中的应用