2023年11月26日发(作者:)

Airtest安装及在Windows系统使⽤详细全教程(实测及⽤例)

⽬录

⼀、⼯具及环境准备

1、下载AirtestIDE并安装

链接:

2、下载python(切记勾选加⼊环境变量)(⽤于批量操作)

下载及安装可参考:

(只要安装的时候勾选了ADD Python3.7 to PATH,环境变量就⾃动配置好了,就可以进⾏下⾯的检查操作了)

链接:

检查是否安装完成:

1、检查python是否安装完成:

win+R,输⼊cmd,在打开的窗⼝中输⼊python,若出现版本信息,则为安装完成

2、检查airtest安装:

在cmd窗⼝输⼊pip list,看列表中是否有airtest,若⽆,需安装,在cmd窗⼝输⼊pip install airtest,等待安装完成即可(提⽰,安装完

成后需再次输⼊pip list以检查是否安装完成,并且其中的numpy必须为,否则需⼿动降为

固定版本固定版本

3、准备⼀个截图软件(⽤于定位坐标)

截图软件链接:

⼆、AirtestIDE软件使⽤

案例⼀ 新建⽂件:视频链接:

案例⼆ 局部找图:视频链接(待上传)

案例三 批量操作脚本:视频链接(待上传)

三、批量运⾏

1、⽤命令⾏运⾏Airtest

1、⽤命令⾏运⾏⼀个.air脚本

脚本的运⾏过程,与报告的⽣成过程是独⽴的两个步骤,所以我们可以先⽤airtest run + 脚本⽂件路径 指令来运⾏脚本,该命令的可传

参数如下:

--device,⽤来指定连接的被测设备

--log,⽤来指定log内容和截图存放的⽬录

--recording,运⾏脚本时进⾏录屏操作

下⾯分别介绍下这⼏个参数的使⽤⽅法:

--device

在脚本运⾏的时候,我们必须连接上⼀个被测设备。如果在我们脚本的airtest语句之前,没有对设备进⾏初始化,⽐如没有运⾏⼀

connect_device的语句之类的,在使⽤airtest run 指令来运⾏脚本时,就必须传⼊--device参数,否则命令⾏会报如下错误:

传⼊--device参数即可解决上述问题:

# airtest运⾏了report_这个脚本

# airtest run 后⾯接的是脚本⽂件的路径

# device参数后⾯可跟AndroidiOSWindows设备

airtest run D:/test/report_ --device Android:///

--log

如果 airtest run 指令没有传⼊参数--log,那使⽤命令⾏运⾏脚本时,将不保存log内容和截图,并且命令⾏会提⽰do not save log

如果传⼊的参数为--log log/, 将把⽣成的log内容放到当前命令⾏执⾏⽬录下的log⽬录⾥⾯:

如果在--log 参数⾥传⼊了指定⽬录,log内容与截图将会放在指定⽬录⾥,如图:

--recording

需要在脚本运⾏时进⾏录屏操作,则在使⽤airtest run命令时传⼊--recording参数即可,录制的视频⽂件会以MP4格式保存在log内容所在的

⽬录⾥⾯。

airtest run D:/test/report_ --device Android:/// --log log/ --recording

2、⽤命令⾏⽣成报告

在命令⾏中,使⽤airtest run指令运⾏脚本以后,我们就可以使⽤airtest report + 脚本⽂件路径指令来⽣成⼀份HTML格式的报告。

该命令也有⾮常多的可传参数,例如:

--log_root,指定log内容和截图⽂件所在的⽬录

--outfile,指定⽣成报告的⽬录

--lang,指定报告语⾔,可以是中⽂/英⽂

--export,导出⼀个包含所有资源的报告⽂件

--static_root,指定静态资源⽂件的路径

需要注意的是,使⽤ airtest report 指令但没有传⼊任何参数时,程序会默认去脚本⽂件所在⽬录下寻找log/,然后⽤找到的内容来⽣

成HTML格式的报告,该报告存放于当前命令⾏的执⾏⽬录下。如果脚本⽬录⾥⾯不存在log/,命令⾏则会报错:

所以不传⼊任何参数来使⽤airtest report 指令时,需要保证运⾏时产⽣的log内容的⽂件夹必须与脚本⽂件在同⼀⽂件夹内:

--log_root

⼀些情况下,我们运⾏脚本时并没有把log内容和截图⽂件存放在与脚本⽂件相同的⽬录下,这时可以⽤--log_root参数来指定log内容和截图

⽂件所在的⽬录。假如log内容保存在当前执⾏⽬录下的log⽂件夹⾥,我们就可以这样指定:

C:Usersxiaoming>airtest report D:/test/report_ --log_root C:/Users/xiaoming/log

# 命令⾏显⽰的表⽰在当前执⾏⽬录下⽣成了报告

--outfile

当我们不想报告保存到当前执⾏⽬录下时,我们就可以⽤--outfile参数来指定报告⽣成的⽬录:

airtest report D:/test/report_ --log_root C:/Users/xiaoming/log --outfile E:/log_test/

--lang

指定报告语⾔为中⽂:--lang zh

指定报告语⾔为英⽂:--lang en

注意:如果不指定报告的语⾔,默认的报告语⾔为英⽂。

2、⽤.bat⽂件批处理命令

1)⽤.bat⽂件执⾏⼀个脚本

.bat⽂件中⽤的是DOS命令,语法可以百度查⼀下。

我们来先来复习下,使⽤命令⾏运⾏Airtest脚本的指令: airtest run + 脚本⽂件路径 ,另外还可以在命令后⾯跟上 --device--log--

recording 等参数。

举⼏个运⾏airtest脚本的例⼦:

# 不带任何参数运⾏脚本

airtest run D:

# 带命令⾏参数运⾏脚本

airtest run D: --device Android:/// --log log/ --recording

回顾了在命令⾏运⾏airtest脚本的知识点后,我们再来看下如何新建 .bat ⽂件。⾸先我们需要在电脑上新建⼀个 .txt ⽂件,并输⼊以下内

容:

::关闭回显

@echo off

::切换到D

D:

::进⼊D盘的test⽬录

cd D:test

::执⾏ airtest run 命令

start airtest run

exit

其中 ::xxx 表⽰的是注释内容,可以不写⼊ .txt ⽂件中;另外⽰例脚本的路径为 D: ,所以这⾥还做了切换到脚本路径的

操作,同学们可以根据⾃⼰脚本的实际情况来进⾏切换。

还需要注意的是,在上述⽰例中,我们已经在⽰例脚本的开头添加了设备和 log 的初始化内容,所以不⽤另外在运⾏命令后⾯加上各种运⾏

参数:

auto_setup(__file__,logdir=True,devices=["Android://127.0.0.1:5037/emulator-5554"])

如果同学们的测试设备相对固定,也建议直接将这些参数写到脚本中,可以简化命令⾏运⾏脚本的命令。

写完以上⼏条命令后,我们关掉 .txt ⽂件,将他的后缀名 txt 改成 bat ,之后会弹出重命名的警⽰弹窗,点击“是”即可。最后,我们可以

来检测下运⾏效果:

2.bat⽂件顺序执⾏多个Airtest脚本

使⽤ .bat ⽂件成功执⾏单个airtest脚本之后,我们来试试⽤ .bat ⽂件顺序执⾏多个airtest脚本:

@echo off

D:

cd D:test

title 正在执⾏第⼀个脚本

::注意,这⾥官⽅没有使⽤call命令,会导致多个脚本同时运⾏,需使⽤call命令,使其按顺序执⾏多个脚本

call airtest run

title 正在执⾏第⼆个脚本

call airtest run

title 正在执⾏第三个脚本

call airtest run

exit

可以看到,在上述登录⽹易新闻的⽰例脚本之外,我们⼜增加了两个脚本,分别⽤来实现使⽤⽹易新闻和退出登录等操作。

所以在 .bat ⽂件中,我们分别写了三条⽤于运⾏对应脚本的命令,其中 title xxx ⽤来指定命令提⽰窗⼝的标题,可以让我们清晰地看出当前

是在执⾏第⼏个脚本。最终的执⾏效果如下:

扩展功能:⾃动报错,当出现问题后,向⽬标邮箱发送消息提醒(正在建设)

参考⽂献: