资源
由于博客不允许放外链(不理解为什么这样,越做越封闭),所以没法直接写URL,大家可以百度搜索关键字“airtest”即可看到官网
以下的内容中有一部分是来自官网的说明
airtest介绍
Airtest是一个跨平台的UI自动化测试框架,适用于游戏、App。支持Windows、Android、IOS(测试阶段会有未知错误)平台。
Airtest提供了跨平台的API,包括安装应用、模拟输入、断言等。 基于图像识别技术定位UI元素,你无需嵌入任何代码即可进行自动化测试。 测试脚本运行后可以自动生成详细的HTML测试报告。
Airtest是一个跨平台的、基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Android和iOS。
Poco是一款基于UI控件识别的自动化测试框架,目前支持Unity3D/cocos2dx-*/Android原生app/iOS原生app/微信小程序。(暂时不支持微信小程序了)
AirtestIDE 是一个跨平台的UI自动化测试编辑器,内置了Airtest和Poco的相关插件功能,能够使用它快速简单地编写脚本。
PS:个人使用之后感觉确实强大,但准确性还有待提高,稍复杂的场景录制完之后仍需要手工改动调试脚本。想要玩的更好还的手写代码。。。。。
AirtestIDE
安装
下载对应的版本,解压后双击AirtestIDE.exe即可运行
运行开始需要注册一个帐号,注册并验证完毕之后即可进入ide,如下图
左侧是辅助窗口,说白了就是图像和元素的识别以及录制在这里,中间是脚本区域,右侧是设备区,也就是链接的手机或模拟器
链接Android手机
打开手机>设置>开发者选项>USB调试开关
在AirtestIDE设备面板中点击 Refresh ADB 按钮,查看连接上的设备
如果没有显示出设备,试试 Restart ADB
点击对应设备的 Connect 按钮,进行初始化(如果使用的是模拟器,先选择use javacap以获得高清晰度画面)
如果出现类似如下错误:
adb server version (40) doesn't match this client (39); killing... * daemon started successfully *
解决方法:
将android-sdk-windowsplatform-tools下的adb.exe覆盖到airtest/core/android/static/adb/windows下
连接iOS手机
参考:http://airtest.netease.com/docs/cn/2_device_connection/4_ios_connection.html
其他使用方法在后续的脚本中会逐步讲解到
airtest脚本
基于图像识别。这里特别注意,图像识别不是万能的!!! 它是有 成功率 的,假设一个脚本里有10张图片,每张图片的识别成功率都能达到95%之高,10张图片全部都正确识别的概率也不过60%而已。所以你懂的~~
基本步骤:
app启动好
点击airtest面板內的按钮之后在去选择对应app內的元素,可以单步录制,自动帮你生成代码
点击airtest面板內的录制按钮可以实时录制,并生成脚本。也就是说你在ide右侧的设备面板內操作app,会自动生成代码,是不是感觉很爽?但其实从体验下来看,稍微复杂点的场景生成出来的代码一般没法直接使用,需要做一定的修改
来看个录制出来的代码(以小米商城APP为例)
简单来说就是分别点击app图标启动,点击搜索框,输入空气净化器,点击搜索按钮。其中的输入内容需要点击左侧airtest面板內的text组件来输入
PS:看上面的代码,其中有一个touch注释掉了,这里在选择元素范围的时候要特别注意,一定选择准确度高的,注释掉的这个就是因为选择的不太好,元素內的文字会变从而导致有时候成功有时候失败。换成上面那个基本是100%成功了
运行脚本并查看报告
运行就是点击顶部的三角箭头,你找不到?那就找不到吧,不要问我~运行期间会在下方log区域显示log,同时右侧设备区域显示回放
查看报告就是点击顶部的最后一个按钮,出来的结果类似这样
poco脚本
基于UI识别,说白了就类似webdriver和appium那种树型结构的。作为airtest脚本的辅助进行。
基本步骤:
启动好app
poco面板內选择对应的类型,比如Android,即刻在下方看到ui树
单步录制:双击UI树中的目标条目,即可插入对应UI节点的poco代码,但是单步录制的代码中的操作代码(如 ".click()" )需要手动添加
PS:点击 右键菜单-'UI path-code'可以生成xpath代码
自动录制:点击poco面板內的录制按钮,随着你的操作会自动生成代码,要停止就再次点录制按钮即可
PS:录制出来的代码一般都无法正确运行,需要进行修改才可以
看下录制出来的代码,已经经过了一些修改
稍微有点自动化测试基础的同学应该秒懂~其中对于输入空气净化器那部是录制完成手工修改的
PS:如果发现无法正确使用,那就是需要事先接入Poco-SDK才行,步骤较为繁琐,具体见官网,一般让开发完成
至于运行和报告和之前的一样,这里就不多描述了
web自动化测试
本来airtest是为了游戏测试而诞生的,后来扩展到app和web。体验下来佩服网易这些大神,个人感觉对于小白来说录制是个好事情,但脚本维护来说难度不小。个人觉得如果对于python熟悉的话还是直接写代码更好一点。其实airtest高级的用法也是自己写代码。。。所以。。。你懂的~
airtest-selenium是在selenium webdriver上再次封装了一层,我们可以使用AirtestIDE进行web自动化脚本录制、脚本运行和报告生成
录制
需要本地安装airtestide和chrome浏览器
窗口>selenium window,开启se面板
设置Chrome本地路径:“选项”-“设置”-“Selenium”-“设置Chrome路径”
开启浏览器-点击编辑框中弹出的提示,生成初始化代码
浏览器中进入待测试的网页之后点击辅助窗的start_web,生成访问待测试网址的代码:
driver.get("http://www.xqtesting.com/")
点击录制
在浏览器进行操作,这时候会自动生成代码,类似下面的
再次点击运行脚本按钮即可回放,和se的差不多
运行结束后,点击报告按钮,查看报告