引子:
以前用的appium做的app自动化,繁琐就不说了,做过的大家都知道。Airtest是网易做的,收到谷歌的力挺的,支持截图和脚本两种方式,且简单容易上手,并且功能也强大,并且在不断的维护。并且除了app自动化,airtest还支持web,微信小程序,以及win程序的自动化,并且将需要的东西都已经集成起来了,比如chromedriver,比如adb。因为可以使用截图的方式和点击后自动定位的方式,开发的效率是比较高的,所以在任务比较急的时候,这样是比较合适的,但是同样的基于图像识别,可能会出现无法识别的情况,建议后期控件定位的方式。在后期工作相对空闲的时候,在将代码进行封装,解耦。
环境的准备:
1
AirtestIDE地址:http://airtest.netease.com/
2
adb准备,并且最好配上path,不清楚的请自行百度。如果实在懒,在airtestide中可以找到adb,cy出来,改改,在配path也可以。
3
如果准备使用airtest做web端的自动化需要以下依赖
1 将airtest根路径下的airtest_selenium,复制到python的根路径下,如果不怕麻烦不放也行,方法自行百度。
2 将chromedriver同样放到python的根路径下,不会的自己百度。
3 pip install selenium
pip install airtest
pip install pynput
以上是命令行执行的时候,需要的依赖
app自动化:
我这里使用的是虚拟机,既然airtest是网易做的,那么就用网易的MUMU模拟器吧。
1 使用adb连接虚拟机,MUMU模拟器的端口默认是7555
2 airtestide中连接虚拟机
出现手机的画面就证明连接成功
3 airtest中支持录制和手动编写,同样支持写代码
1 截图
选择左侧命令,按照提示做对应操作就可以了,会生成对应的代码
2 录制
web自动化:
1 除了环境的依赖外,还需要将chrome的路径配置下。然后在 窗口中 勾选 selenium window
2 基本操作
对selenium有一定了解的,这里的方法不需要多少,其中两个方法比较特殊,也比较好用airtest_touch和assert_template,这是airtest自己封装的方法,允许通过截图的方式点击元素和判断元素是否存在。
命令行执行:
airtest推荐命令行执行
方法1:
python -m airtest run E:\tools\Airtest\AirtestIDE_2020-01-21_py3_win64\AirtestIDE_2020-01-21_py3_win64\test02.air --log E:\tools\Airtest\AirtestIDE_2020-01-21_py3_win64\log
run后是需要执行的文件,--log后是日志写入的地址
直接使用airtest run filename.air 也可以
生成测试报告:
在airtest中,测试和生成报告是分开执行的,在测试后才会生成测试报告。
具体命令如下
airtest report E:\tools\Airtest\AirtestIDE_2020-01-21_py3_win64\AirtestIDE_2020-01-21_py3_win64\test02.air --log_root E:\tools\Airtest\AirtestIDE_2020-01-21_py3_win64\log --outfile E:\tools\Airtest\AirtestIDE_2020-01-21_py3_win64\log\log.html --lang zh --plugins airtest_selenium.report
airtest report 执行脚本路径 --log_root 执行之后的日志文件路径 --outfile 测试报告生成的位置以及各式 --lang zh --plugins airtest_seleium.report (调用插件)
测试报告蛮漂亮的,这次网易是真走心了。并且每一步都截图,一目了然,当然图片文件会很多
当然可以直接将命令写成一个bat文件,也可以定时执行bat文件
配置触发器