基于图像识别原理的UI自动化工具——Airtest入门

在这里插入图片描述

一.背景

1当前UI自动化面临的问题

难以使用一套工具对移动端、web端、桌面端进行自动化测试

  1. 版本更新页面改动较大,自动化脚本的维护成本高
  2. 图片内容难以验证

2 解决方案

用图像识别方法代替传统坐标定位方法进行UI自动化设计

二.Airtest自动化简介

Airtest是一个跨平台的UI自动化测试框架,基于图像识别原理。Airtest IDE操作页面如图
基于图像识别原理的UI自动化工具——Airtest入门_第1张图片

1.优点

基于python,跨平台,可用于移动端、web端、桌面端UI自动化测试,支持windows、ios、android

2.组成

整个工具套件由Airtest IDE、Airtest、Poco、Airlab组成

Airtest IDE:跨平台的UI自动化编辑器

Airtest:基于python的跨平台的UI自动化测试框架,基于图像识别原理

Poco:基于UI空间搜索的自动化框架

Airlab:网易Airtest云测试服务

三.环境搭建

1.AirtestIDE下载和安装

1.1Windows用户

根据系统是32位还是64位版本,下载官网上对应的zip包,解压后得到AirtestIDE文件夹

双击AirtestIDE/AirtestIDE.exe即可启动进行安装,一直点击下一步即可

在部分机器上可能由于显卡兼容性问题,导致无法正确启动,或脚本编辑窗口无法编辑,可以在1.2.3版本IDE新增的兼容模式的设置项中选择一个兼容模式后重启IDE,这样未来将会默认以兼容性模式来启动IDE
双击图标运行

基于图像识别原理的UI自动化工具——Airtest入门_第2张图片

1.2MacOS用户

  • 在官网下载AirtestIDE.dmg后双击解压,将AirtestIDE.app拖入应用程序Application文件夹中即可
  • 第一次启动时可能会有闪退问题,再次启动即可正常使用

2.界面介绍

基于图像识别原理的UI自动化工具——Airtest入门_第3张图片

  • 导航栏:主要是脚本文件的管理,和IDE的设置

  • Airtest辅助窗:可以快速插入部分操作代码

  • Poco辅助窗:可看到原生UI结构等信息

  • Selenium窗口:使用与Airtest辅助窗一样,可以快速插入部分操作代码

  • 脚本编辑窗口:进行代码编辑的地方

  • Log查看窗:可以查看运行脚本时的各项Log信息;可以查看定位元素或控件的信息

  • 设备窗:可以查看设备信息,控制设备等,可分成移动设备连接、远程设备连接、Windows窗口连接、ios设备连接四部分

3.连接设备

3.1 Android连接

1.打开开发者选项,打开usb调试

2.通过数据线或者wifi连接(关闭手机助手)

3.在手机端同意usb调试

IOS连接参考官方文档airtest.doc.io.netease.com/IDEdocs/dev…

3.2 连接模拟器

1.获取模拟器的ip和端口号

2.将ip和端口按照adb connect ip:port的格式填入远程设备连击

3.点击连接

4.等待几秒,模拟器设备显示在设备列表中,点击connect

3.3 Windows窗口连接

在设备窗—windows窗口连接中,点击选择游戏画面或者搜索窗口,选择窗口完成连接

四.编写和执行用例

本文档以安卓手机为例,使用Airtest指令完成demo用例的编写

1.编写脚本

操作指令:
基于图像识别原理的UI自动化工具——Airtest入门_第4张图片

  • touch:触摸
  • swipe:滑动
  • wait:等待
  • exist:是否存在
  • snapshot:截屏
  • text:输入文本
  • keyevent:按键
  • sleep:休眠
  • assert_exist:断言存在
  • assert_not_exist:断言不存在
  • assert_equal:断言相等
  • assert_not_equal:断言不相等

1.1新建脚本

操作栏中点击文件——新建脚本——.air Airtest项目

1.2录制脚本

1.2.1自动化录制脚本
点击Airtest辅助窗的自动化录制按键开始录制
基于图像识别原理的UI自动化工具——Airtest入门_第5张图片

在右侧连接侯的设备窗设备截图区域操作,相应动作会被自动录制为代码,并且会自动截取操作区域的图片

操作之间需要手动添加wait或者sleep,否则很可能因为操作和显示不同步而失败

自动截取的图片通常不是很准确,建议手动截取图片

1.2.2手动录制脚本

点击Airtest中的操作指令,再到连接设备窗口中截图,完成一条操作步骤

2.执行脚本

点击菜单栏运行按键或者按F5开始执行脚本
基于图像识别原理的UI自动化工具——Airtest入门_第6张图片

也可以通过命令行的方式运行:airtest run “path to your .air dir” --device Android : / / /

五.查看报告

在AirtestIDE中,可以点击上侧图标菜单的最后那个“查看报告”的按钮,快捷键为Ctrl+L,稍后片刻将会自动使用默认浏览器打开结果报告页面
基于图像识别原理的UI自动化工具——Airtest入门_第7张图片

1报告内容
基于图像识别原理的UI自动化工具——Airtest入门_第8张图片

报告主要分为两部分:

①在报告的上半部分,可以看到与报告相关的一些信息,比如:报告的名称、作者、报告描述(可自定义)以及快览等等。点击任意一张快览,下方会展示相应的测试信息。

②报告的下半部分,详细展示了每一个测试动作及其执行情况。单击左侧的测试动作,右侧会显示出相应动作执行结果的详细情况。并且我们还可以在右侧对不同执行结果进行筛选。

2自定义报告描述

如果在脚本中写到了以下内容,将会在报告中显示出来:

author 对应脚本作者

title 对应脚本标题

__desc__可以写较长的脚本描述,将会显示在页面中,如果超过一定行数会自动折叠

3其他

点击log.txt可以查看log文件

点击步骤的眼睛图标可以查看上下文

点击图片缩略图会显示对应步骤的执行情况

总结

Airtest操作比较简单,基本上不涉及到代码,所以非常适合刚入门没什么测试经验的人利用这个工具做UI自动化测试,同时Airetest又提供了开源的API,让资深测试工程师可以基于Airtest的框架上再做高级的定制化扩展功能。

在这里插入图片描述

最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!推荐软件测试交流学习群:914172719 里面会分享一些资深架构师录制的视频录像


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

你可能感兴趣的:(软件测试,IT,程序员,python,程序人生,测试工程师,软件测试,单元测试)