前段时间在博客中见到airtest的介绍,自己并实践了一番,用起来的确很方便,所以今天就来分享下。
Airtest简介
Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。Airtest的框架是网易团队自己开发的一个图像识别框架,这个框架的祖宗就是一种新颖的图形脚本语言Sikuli。Sikuli这个框架的原理是这样的,计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。另外,Airtest也基于poco这个U控件搜索框架,这个框架也是网易自家的跨平台U测试框架,原理类似于appium,通过控件的名称,id之类的来定位目标控件,然后调用函数方法,例如click(),swip()之类的方法来对目标控件进行点击或者是操作。正如他们所说,基于图形化识别的Airtest Project解决方案,十分有效地降低了自动化测试的门槛,真正使自动化测试带来测试效率的提升。Google表示Airtest 是安卓游戏最强大、最全面的自动测试方案之一。Airtest用途
Airtest的使用,官方文档有详细说明,详见:
http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/index.html
Airtest下载地址,如下:
http://airtest.netease.com/download.html?download=AirtestIDE_2019-01-15_py3_win64.zip
Airtest API文档,如下:
https://airtest.readthedocs.io/en/latest/
github上源码,如下:
https://github.com/AirtestProject
将下载下来的压缩包,解压后,即可使用,不需要安装,前提是要有python环境,python环境就不需要多余介绍了。
Airtest Web自动化测试
AirTest Web自动化测试基于Selenium和python语言,通过调用Chrome浏览器Devtools Protocol协议,将用户操作解析成python脚本。
Selenium工作原理示意
Airtest 目前集成了chrome浏览器基于selenium进行web自动化测试,通过录制得到的python脚本,调用chromedriver驱动浏览器执行指定动作。
设置Chrome启动路径
基于上述原理,在使用Airtest进行Chrome自动化测试脚本录制与执行前,需要指定chrome浏览器启动路径,并使Airtest内置的chromedriver与浏览器版本配套。
Airtest的最新版自带较新的稳定版本chromedriver.exe(目前为2.37版本),需要匹配对应的chrome浏览器。
通过Airtest设置菜单,在selenium选项中,设置chrome浏览器的安装路径。
如果出现报错,可能是浏览器驱动版本不一致导致的,需要更换成对应的版本驱动即可,驱动地址如下:
http://chromedriver.storage.googleapis.com/index.html
本文仅代表作者观点,系作者@温一壶清酒发表。
欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
文章出处:http://www.cnblogs.com/hong-fithing/