一文掌握airtest自动化测试工具

点击链接加入QQ群229390571(全国招聘信息、免费公开课、视频应有尽有):https://jq.qq.com/?_wv=1027&k=5rbudQa 更多内容可以关注公众号:测试帮日记

之前写过一篇airtest的文章,链接在这里airtest自动化测试工具快速入门

这次是学员的原创文章也是关于airtest的,献给大家,本文最终版权归学员斌宇所有

一、Airtest的简介

对于测试人员而言。小程序测试一定要在上线后关注并验证。小编所在项目现已完成手APP/微信小程序渠道的UI自动化测试和监控的建设。以下说明如何使用airtest实现小程序的渠道监控。

说明:

Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。Airtest的框架是网易团队自己开发的一个图像识别框架,计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。小编就是基于它做了二次开发实现的自动化测试和监控告警的功能。

git地址:

https://github.com/AirtestProject/Airtest

二、关于自动化测试

意义:节省人力、物力、时间、硬件资源等,提升测试效率,特别对于繁琐重复的测试用例,可以使测试人员更专注于新的测试模块的建立和开发,从而提高测试覆盖率。

市面上常见的UI自动化测试工具以及优缺点:

相较于以上工具来说,Airtest有以下优点和缺点:

三、环境的搭建

AirtestIDE已经帮你集成了所有的环境,自带录制脚本栏,自动生成脚本,自带编辑器还自带模拟器,有了一个AirtestIDE就可以轻松简单的录制脚本了。下载地址是Airtest的官网:

http://airtest.netease.com/

AirtestIDE的使用教程跟文档也在下面的连接中:

http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/index.html

1、进入官网:http://airtest.netease.com/,下载airtest,解压,点击exe启动即可。

2、连接手机:

http://airtest.netease.com/docs/cn/2_device_connection/1_android_phone_connection.html

http://airtest.netease.com/docs/cn/2_device_connection/2_android_faq.html

不同的手机,可能会略有不同。核心都是要打开手机的开发者模式,打开USB调试。

Airtest通过adb连接你的设备到电脑,再接入Airtest框架以完成录制和脚本运行。

Airtest框架调用的adb路径为:{Airtest安装路径}\airtest\core\android\static\adb\windows

在使用AirtestIDE连接设备之前,先通过adb devices命令确认设备已经连接。

当真机能够成功接入时,在device窗口会自动识别出真机设备。

连接模拟器时,可以在远程设备连接选项中连接模拟器的设备连接代码,也可以通过adb连接完成之后识别。

注意:需要勾选Use javacap选项可参考官方文档:

http://airtest.netease.com/docs/cn/2_device_connection/3_emulator_connection.html

四、简单使用

按照官方文档进行即可。主要用到的功能是录制、touch、sleep、assert_exists等功能。

五、小程序自动化环境配置

一般输入debugx5.qq.com 可打开调试功能。但如果出现下面的问题:

则需要进行输入命令

debugmm.qq.com/?forcex5=true

点击后效果如下:

debugtbs.qq.com

点击后效果如下: 注意 “内核未被禁用”的选项是打开状态

最后可以点击 debugx5.qq.com

勾选会让你重启微信

总结:

如果突然发现无法识别小程序中的元素,把上面的命令重来一遍:

debugmm.qq.com/?forcex5=true

debugtbs.qq.com

debugx5.qq.com

六、Python运行air脚本

Airtest脚本基于python语言,官方推荐使用python运行脚本

安装部署python环境

推荐安装python3.5以上版本,并配置环境

Python必备库安装

pip install airtest

pip install pocoui

然后再下载一个Python的编辑器来编辑代码,个人推荐使用的是pycharm。接下来就是使用官方提供的启动demo

代码:

from airtest.core.api import *

# 通过ADB连接本地Android设备

connect_device("Android:///")

#安装待测软件apk,路径信息。

install("path/to/your/apk")

#开始运行appstart_app("com.pingan.certicationApp")

#点击某个图片,Airtest中基于图像识别语法,图片自己提供。

touch(Template("image_of_a_button.png"))

#滑动语音,开头图片跟结尾图片

swipe(Template("slide_start.png"), Template("slide_end.png"))

#添加断言的图片

assert_exists(Template("success.png"))

#点击Android上的返回键

#keyevent("BACK")

#点击Android上的Home键返回

#home()

#uninstall("package_name_of_your_apk")

七、框架代码详解

脚本如下:

实现了多case同时运行生成聚合报告

不同设备运行同一脚本

AllReportStartCMD.py文件既是通过python执行cmd命令

运行该文件 AllReportStartCMD.py后,得到报告:

至于怎么与jenkins集成,就很简单了,把这个AllReportStartCMD.py文件写到jenkins任务里即可

之后进行构建就可以看到结果啦

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

推荐阅读更多精彩内容