AirtestIDE 基础使用——五分钟上手自动化测试

本文介绍了AirtestIDE的基础使用,包括开发环境准备、Android真机USB连接、Airtest和Poco框架的使用,以及如何通过命令行运行测试脚本和生成报告。通过实例演示了如何使用AirtestIDE进行脚本调试、图像识别和UI控件操作,是学习Airtest自动化测试的好资源。
摘要由CSDN通过智能技术生成

官网:https://airtest.doc.io.netease.com/
其他笔记:
AirtestIDE 基础使用——五分钟上手自动化测试
玩转微信小程序自动化测试 持续集成实践
一份漂亮的Airtest批量执行案例脚本并聚合报告的方法

开发环境准备

使用AirtestIDE来编写脚本,只需要在 官网下载最新版本AirtestIDE,解压即可直接使用。AirtestIDE内置了Python3.6.5,airtest和poco环境,本地无需安装python环境就能直接使用。

如果想要使用其他需要安装的Python第三方库,或者Python2环境,则需要进行本地python的 环境部署 ,然后在AirtestIDE设置中添加本地的Python.exe路径,详情参考 IDE配置。

在AirtestIDE中新建的脚本,后缀都为 .air ,但实际上在运行的时候, 运行的是.air目录下的同名.py文件 。

脚本调试

目前AirtestIDE暂不支持断点调试功能,因此调试脚本只能通过print等较为简单的方式。但是由于Airtest框架涉及到图像识别的准确率问题,需要反复运行和调试才能确定合适的图片与识别阈值,因此IDE特别提供了一种 选中部分代码单独运行 的调试功能(如下),需要注意的是,该单独运行代码的功能不会执行到脚本中其他代码里的内容,可能会出现别处的变量未能初始化等情况(因此不支持poco)。

img

IDE还提供了一个图片截图预览功能,在脚本编辑区内双击图片,会弹出图片编辑器,在图片编辑器内点击 Snapshot Recognition 按钮,将会截取当前的手机屏幕画面,并且进行一次识别,识别成功的话会在截图上面标注出识别区域,方便进行截图的调试。

Mac Airtest图片编辑器疑有BUG,点击图片编辑器的右下角的OK或Cancel键后,整个IDE都会卡死,已提交Issue

img

目前图片识别中,每次识别时,只要识别结果的可信度>阈值 threshold 即认为是识别通过。如果识别到错误的位置,可以通过调节 threshold 进行准确度调整。

Android 真机USB连接

测试机:华为

  1. 开启开发者模式:进入设置->系统->关于手机,多次点击版本号后进入开发者模式;
  2. 设置开发人员选项:允许USB调试、连接USB时总是弹出提示、监控ADB安装应用、仅充电模式下允许ADB调试(可选)
  3. 关闭电脑上已经安装的手机助手软件, 使用USB线连接手机,手机上出现USB连接方式(传输照片、传输文件和仅充电),选择"传输照片",如果在第二步中设置了仅充电模式下允许ADB调试,则需要选择"仅充电"选项;
  4. 点击Airtest点击列表内对应设备的 Connect 完成连接, 若设备未刷出,点击 refresh ADB 按钮设备列表将会刷新;

Airtest

基于图像识别的无侵入式测试框架。

初始化

# -*- encoding=utf8 -*-

from airtest.core.api import *
auto_setup(__file__)  #自动初始化设备

录制airtest语句

  • 辅助按键录制脚本

在AirtestIDE的Airtest录制辅助窗内,包含有三种类型的录制按钮:

img

点击某个按钮后,在设备画面上按下鼠标左键进行截图框选,抬起鼠标左键完成框选。对应操作语句会自动插入编辑器脚本中。

  • 脚本自动录制

点击自动录制按钮后,使用鼠标操作设备画面,对应操作语句会自动插入到编辑器脚本中(不好用)。

img

airtest.core.api

Airtest的常用API大部分都列在了AirtestIDE里的Airtest辅助窗中,在使用各种常见的截图语句时,鼠标移动到按钮上即可看到每个接口的常用参数与返回值信息,非常方便。

img

Poco

基于UI控件识别的测试框架

API文档:https://poco.readthedocs.io/en/latest/source/poco.proxy.html#poco.proxy.UIObjectProxy.exists

poco.exceptions module: https://poco.readthedocs.io/en/latest/source/poco.exceptions.html

初始化

切换Poco应用类型时,脚本编辑框会弹出提示插入初始化Poco代码的通知窗。 确认Poco应用类型正确后,确认插入光标位置后,点击 'Yes' 即可插入对应的Poco初始化代码。

img

  • Unity3D
from poco.drivers.unity3d import UnityPoco

poco = UnityPoco()
  • Android native APP
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值