一、Airtest介绍
注解
本文档为Airtest框架的补充文档,将详细介绍Airtest脚本与其编写技巧,在脚本编写过程中请同学们参照 Airtest项目文档 获取更多API的详细信息。
1. Airtest的简介
Airtest是一款跨平台的UI自动化测试框架,基于 图像识别原理 ,适用于游戏和App,以下是Airtest相关文档的地址:
2. Airtest的本质
Airtest本质上是Python的一个第三方库 ,与其它Python第三方库类似。在IDE使用文档中,我们详细介绍了如何使用AirtestIDE来生产并运行Airtest脚本,这是因为AirtestIDE内置了1个Python环境,并且这个Python环境已经安装好了Airtest等第三方库供我们直接使用。
所以,我们并不需要依赖AirtestIDE来生产/运行Airtest脚本,在其它Python编辑器上编写运行也可以,但需要注意的是,在其他编辑器编写/运行Airtest脚本之前,请务必在当前项目的Python环境中安装上Airtest库:
pip install airtest
3. Airtest的支持情况
1)Airtest支持的设备平台
- Android(真机和模拟器)
- iOS(真机)
- Windows(窗口和Windows桌面)
2)Airtest支持的Python版本
3.0≤Python≤3.9
(部分旧版本的airtest支持Python2,但是我们并不建议在Python2安装airtest,容易出现不可预知的错误)
3)Airtest支持的操作系统
- Windows
- MacOS X
- Linux
4)Airtest对各个平台的支持情况
① Android
对市面上绝大多数的安卓真机以及安卓模拟器都支持,甚至也支持一些带有安卓系统的特殊设备,比如翻译笔、车机、平板等等。如同学们在使用过程中,发现Airtest不支持的设备,可以到 这里 给我们提交issue。
② iOS
目前我们仅针对iOS真机进行了支持,iOS模拟器并未经过支持测试,可能存在不支持的情况。目前官方提供的iOS-Tagent最多支持到:xcode12.1,iOS13.5。
③ Windows
目前Airtest支持连接Windows窗口/Windows桌面进行自动化测试,并且提供了多种连接方式。
④ MacOS X
目前Airtest暂未支持对MacOS X的应用或者桌面进行测试,可以期待我们后续的支持更新。
4. Airtest能做些什么
1)连接上待测设备
Airtest支持连接上1台或者多台待测设备,这个设备可以是指Android设备、iOS设备、Windows应用窗口或者桌面等。
2)对待测设备实施模拟操作
Airtest提供了一系列跨平台的API用于操作设备,比如常见的:
- 点击
- 滑动
- 输入文本
- 截图
- 等待
- 断言
- ……
3)生成运行报告
Airtest支持生成HTML格式的测试报告,方便我们查看详细的步骤运行情况。
5. Airtest不能做些什么
1)Airtest能做接口测试吗
不能,Airtest是一个UI测试框架,与接口测试框架不一样。
2)Airtest能进行找色吗
不能,Airtest基于各种图像识别原理,与找色工具有一定差别,目前Airtest不包含找色功能。
3)Airtest能获取图片的文字吗
不能,Airtest非OCR工具,不能识别出来图片里面是什么文字,它只能对比图片之前的匹配度。但我们可以通过Airtest截图,然后借助其它OCR接口来识别截图里面的文字。
4)Airtest能拿到控件的图片吗
不能,Airtest非侵入式框架,它不能直接拿到应用里面的控件图片,但是它能对整个画面进行截图或者进行局部截图。