赞
踩
Airtest是网易出品的一款基于图像识别和Poco控件识别的一款UI自动化测试工具。这个框架设计来源于新颖的图形脚本语言Sikuli,关于Sikuli框架可见上一篇分享《基于Sikuli GUI图像识别框架的PC客户端自动化测试实践》。和Sikuli框架的原理一样,用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。另外,Airtest也可以基于poco这个UI控件搜索框架,通过控件的名称、id之类的来定位目标控件,原理类似于 appium。官网:airtest.netease.com/
相比于其他的自动化测试框架,Airtest主要有如下两个优势:
官方文档:airtest.doc.io.netease.com/IDEdocs/get…
由于Airtest框架是基于python语言开发,本地需要搭建python相关环境,建议使用python3
Python 下载地址:www.python.org/downloads/
AirtestIDE客户端下载:airtest.netease.com
Windows系统用户在官网上下载对应32位或是64位版本的zip包,解压后得到AirtestIDE文件夹,双击AirtestIDE/AirtestIDE.exe即可启动
Airtest运行完成后,会自动生成一份报告,通过下图按钮可以查看,点击后会自动启动浏览器查看报告
Airtest IDE中右键,即可两种模式相互切换
切换后的效果如下:
连接Windows应用有三种方法,分别是:
设备窗-Windows窗口连接-搜索窗口,选择窗口后,点击连接
(由于句柄容易发生变化,因此不推荐此连接方式):下图的67330即为企业微信的句柄
3)通过正则匹配应用应用标题进行连接
- if not cli_setup:
- auto_setup(__file__, logdir=True, devices=["Windows:///?title_re=.*阅云*"])
官方文档:airtest.readthedocs.io/zh_CN/lates…
源码:airtest.readthedocs.io/zh_CN/lates…
先看下待测试的windows应用的页面布局:
1)代码构成
- # -*- encoding=utf8 -*-
- __author__ = "Administrator"
- import random
- from airtest.core.api import *
- from airtest.cli.parser import cli_setup
- # 连接windows应用
- if not cli_setup:
- auto_setup(__file__, logdir=True, devices=["Windows:///?title_re=.*阅云*"])
操作步骤为:进入聊天窗口>输入文本内容>发送
- def send_text(time):
- setup_send_msg() # 进入聊天窗口
- for i in range(time):
- text("这是AIRTEST发送的第%s条消息"%str(i)) # 输入文本消息内容
- keyevent("{ENTER}") # 按下键盘Enter键,要大写
- keyevent("{ENTER}") # 第一遍按下Enter是防止此时的输入法为中文,第二遍按下Enter是发送
操作步骤为:进入聊天窗口>点击截图按钮>滑动鼠标拉取截图区域>确认发送截图
- def send_screenshot():
- setup_send_msg()
- touch(Template(r"tpl1656061157595.png", record_pos=(-0.028, 0.138), resolution=(959, 654)))
- sleep(1)
- swipe((300,400), (600,800), duration=0.8, steps=2)
- keyevent("{ENTER}")
GUI自动化测试并不适用于发现bug,更多的是将重复性高的、简单的手工操作场景转换为自动操作,用于回归测试,或是用于一些数据的构造模拟上。
将一些基本操作封装为一个个函数以后,就可以进行组合、设计测试用例了,如:
分别调用以下函数:
当然,以上各个函数也可以单独作为一个个测试用例,从而用于回归测试;
将上述函数,加上循环,便可实现持续发送xx类型的消息;不过与其说是一条测试用例,倒不如说是为了模拟人工长时间操作运行下程序的稳定性,亦或是辅助其他特殊测试场景,比如:
此处为语雀视频卡片,点击链接查看:Rec 0005.mp4
Airtest运行完成后会自动生成测试报告,通过控制台菜单栏的查看报告按钮,即可自动在浏览器打开测试报告:
最后:下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!
涵盖以下这些面试题板块:
1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux
6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。