airtest自动化测试工具快速入门

点击链接加入QQ群229390571(全国招聘信息、免费公开课、视频应有尽有):https://jq.qq.com/?_wv=1027&k=5rbudQa

更多内容可关注公众号:测试帮日记

资源

airtest官网:http://airtest.netease.com

手册:http://airtest.netease.com/docs/cn/1_quick_start.html

以下的内容中有一部分是来自官网的说明

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

安装

下载对应的版本,地址:http://airtest.netease.com/changelog.html,解压后双击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的差不多

运行结束后,点击报告按钮,查看报告

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容