airtest使用,airtest命令
一、Airtest简介Airtest是网易出品的基于图像识别和poco控件识别的UI自动化测试工具。Airtest的框架是网易团队开发的图像识别框架。这个框架的祖先是一种新颖的图形脚本语言Sikuli。Sikuli的框架原理是这样的:计算机用户不需要一行一行地写代码,而是使用截屏,通过排列剪出的图形,形成一个神器程序,这是Airtest的一部分。
此外,Airtest还基于poco,这是一个U控搜索框架,也是网易自己的跨平台U测框架。其原理类似于appium。它通过名称和id定位目标控件,然后调用函数方法,如click()和swipe(),来单击或操作目标控件。
二、关于自动化测试的概念:自动化测试是通过自动化测试工具将复杂的人工测试用例编写成代码,让机器自动运行测试用例,而不是人工运行测试用例的过程。实际上是将人类驱动的测试行为转化为机器执行的过程。
意义:节省人力、物力、时间、硬件资源等。提高测试效率。尤其是对于繁琐重复的测试用例,测试人员可以更专注于新测试模块的建立和开发,从而提高测试覆盖率。
三。市面上常见的UI自动化测试工具及其优缺点image.png以上主流工具的优缺点:
与上述工具相比,image.png空气测试有以下优点和缺点:
所以其实image基于图像识别的Airtest更适合游戏测试。
四。环境建设。1的下载。空气测试
AirtestIDE已经帮助您集成了所有的环境,它有自己的录音脚本栏、自动脚本生成、自己的编辑器和自己的模拟器。使用AirtestIDE,您可以轻松简单地录制脚本。下载地址是Airtest的官网:
http://airtest.netease.com/
AirtestIDE的教程和文档也在以下链接中:
http://airtest . Netease . com/docs/docs _ AirtestIDE-zh _ CN/index . html
如果想通过使用Airtest API扩展更高级的功能,可以先下载Airtest的python第三方依赖库:
$brew安装python3.6.4#下载python3 $pip安装Airtest#下载Airtest python的第三方依赖库$pip安装poco #下载Airtest提供的Android app ui测试库poco ui $ brew cash安装Android-sdk #安装Android-sdk。网上有详细的配置教程,这里就不赘述了。然后下载一个Python编辑器来编辑代码。个人推荐pycharm。下一步是使用官方的启动演示代码:
Airtest.core.apiimport * #连接本地Android设备connect_device(Android:///)#安装待测软件apk,路径信息。Install(path/to/your/apk)#开始运行appstart _ app( com . Pingan . certationapp )#点击一个图像,该图像基于Airtest中的图像识别语法。图片是自己提供的。touch(Template( image _ of _ a _ button . png )# Swipe(Template( slide _ start . png )#添加断言图片assert _ exists(Template( success . png )#点击Android上的返回键#keyevent(BACK) #点击Android上的Home键返回# Home()# Uninstall( package _ name _ of _ your _ apk )以上评论已为每句话添加。小伙伴们可以尝试运行程序。当然,如果操作简单的话,AirtestIDE还是比较好用的。
动词(verb的缩写)AirtestIDE的真实场景。有了上面的介绍,接下来说说实际操作。以平安的智能双录app为例。首先,让我们看看用例步骤:
1.在双录列表中点击要上传页面的重录按钮。2.录制完成后,单击开始录制按钮。3.单击录制完成按钮。4.单击确认完成按钮。5.在弹出的对话框中点击“确认”。
首先连接设备并记录:
Image然后我们开始用IDE记录脚本,先抓取每个按钮的图片并触摸,如图1所示,左边会生成每个被抓取控件的样式。
之后机器会在整个界面进行截图,然后在截图中寻找我们截取的部分,然后定位图片的位置并点击,从而通过图像识别实现测试的自动化。当然,基于图像识别的数值输入比较困难,比较适合一些重复繁琐的按钮点击事件。也就是说,这种抓取图像的方式并不是很适合需要用户为登录类输入数据的东西。
图1那么问题来了。Airtest如何也能准确定位到输入框,从而完成自动输入信息类型的自动测试?其实大家不要忘了,Airtest也有一个基于poco的UI控件搜索框架,所以如果是Android的app,最好使用poco来定位控件位置,从而实现自动化。下面是智能双录制软件创建新策略的测试案例:
1.点击新增双录按钮进入新增双录页面2,随机输入000开头的14位保单号3,输入投保人姓名4,输入投保人证件类型5,输入投保人证件号码6,输入保险产品7,输入被保险人幸存8,选择销售渠道、产品类型、缴费频率9,填写缴费年限、每笔保费、保险期间10,查看双录资料如图2所示。只需点击AirtestIDE左上角Android旁边的录制按钮,然后点击右边模拟器的响应控件,会帮助你自动定位那个控件的位置,然后选择动作事件,比如点击click()和滑动swipe()。如果要输入字符,可以先选择要输入内容的输入框,然后用test(“要输入的内容”)自动输入。
图2除了以上,我们还可以在脚本中添加断言,然后使用Airtest一键生成测试报告。如图3所示,这个报告不仅可以让您快速知道您的测试的哪一步出了问题,还可以很容易地确定UI是否显示任何异常。但是Airtest有一个缺陷,就是只要某一张图片无法识别,整个脚本录制过程就会停止。后面的控制不会再被识别,报告只会停留在失败的那一步。您可以点击报表按钮或ctrl生成报表,报表将以网页的形式呈现,如下图所示:
图3总结Airtest操作比较简单,基本不涉及代码,非常适合刚入门没什么测试经验的人用这个工具做UI自动化测试。同时,Airtest还提供了开源的API,让高级测试工程师可以基于AirTest的框架做出高级定制的扩展功能。
如果这个软件有缺点的话,个人认为不支持断点续传。如果测试中出现错误,整个测试将停止,并手动从头开始。这里可以进行二次开发。第一个选项是在出现错误时自动重新运行脚本。这种场景适用于前面的按钮和后面的按钮不在同一个页面,不点击前面的按钮后面的按钮就不会出现。第二种方法是记录错误,然后运行下一个脚本。这种场景适用于两个按钮在同一级别,相互影响不大的页面。可以先触发后退按钮进行测试。
链接:https://www.jianshu.com/p/32d08455e86f
来源:简书
转载于:https://www.cnblogs.com/s快速世界1994/p/10145881.html
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。