Skip to content

一、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非侵入式框架,它不能直接拿到应用里面的控件图片,但是它能对整个画面进行截图或者进行局部截图。