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参数后⾯可跟Android、iOS和Windows设备
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 ⽤来指定命令提⽰窗⼝的标题,可以让我们清晰地看出当前
是在执⾏第⼏个脚本。最终的执⾏效果如下:
扩展功能:⾃动报错,当出现问题后,向⽬标邮箱发送消息提醒(正在建设)
参考⽂献:


发布评论