AirtestProject 多设备并行运行 Airtest 脚本和聚合报告的生成

fishfish-yu · 2022年01月12日 · 3674 次阅读

此文章来源于项目官方公众号:“AirtestProject”
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

1. 前言

很多同学想知道如何实现多设备 “并行” 运行 Airtest 测试,然后生成聚合的测试报告。今天我们就介绍下在我们开源项目里提供的 1 个多设备并行的示例 demo:multi-device-runner 。

2. multi-device-runner 的介绍和运行效果

我们可以在这个地址下 clone 或者下载 multi-device-runner 的代码样例:https://github.com/AirtestProject/multi-device-runner

按照给出的使用步骤,我们先来体验下这个 demo 的运行效果:

1)使用 adb 连接多台设备

以 mumu 模拟器和雷电模拟器为例,我们在终端使用 adb connect 命令分别连接上这 2 个模拟器:

同理再连接上雷电模拟器,之后我们可以用 adb devices 命令查看已经连好的 2 台设备:

2)安装 python3 环境以及 airtest pip install airtest

因这个 demo 里面的 .air 脚本只涉及了 airtest 语句,所以提示我们安装 airtest 库,如果我们需要运行的 .air 脚本里面还包含 poco 语句,我们还要把 pocoui 库安装上。

关于如何部署本地 python 环境,我们在官方教程文档有详细的描述:https://airtest.doc.io.netease.com/IDEdocs/3.4run_script/0_run_script/#1python

大致过程是,先在本地准备 1 个 python3 环境,目前我们最高兼容到 3.9,不兼容 3.10。

然后在这个 python 环境里,安装上我们脚本需要用到的自动化测试相关的库:

# 安装airtest框架
pip install airtest

# 安装poco框架
pip install pocoui

如果安装过程出现超时的报错,可以更换国内源来解决:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple airtest
3)clone 或者下载样例,打开项目目录,运行代码 python run.py

在这个地址上:https://github.com/AirtestProject/multi-device-runner ,clone 或者下载代码的压缩包之后。

我们可以解压,打开项目目录,用 pycharm 编辑器打开 run.py ,并且设置 pycharm 当前项目的解释器为刚才准备好的 python 环境。(当然直接在命令行使用 python run.py 运行也可以)

运行效果如下:

可以看到,运行结束之后,这个 demo 会自动帮我们生成聚合的测试报告,方便我们查看多机的运行概况,也可以非常方便地查看单一设备的详细运行报告:

4)多设备并行测试示意图

run.py 的脚本我们可以看到,它实现是的获取 adb 连接上的所有设备,然后在每一台设备上跑给定的测试用例,跑完之后生成单机的测试报告,最后再汇总这些单机测试报告的结果,形成汇总(聚合)报告:

3. 添加自己的脚本实现多设备并行运行

如果同学们想要在这个 demo 上跑自己的测试用例,也非常简单,直接修改 run.py 脚本最后的初始化数据,即可指定运行的测试用例:

不过需要注意的是,如果指定的测试用例包含 poco 语句,则我们还要修改 run.py 里面生成测试报告的部分,添加 poco 的报告插件:

不添加 poco 报告插件的话,poco 语句在 airtest 报告的显示会出现一些异常。

4. 多机并行 demo 的其它问题

1)只能跑 1 个脚本吗?

是的,这个 demo 一次只能跑 1 个脚本。如果想要跑多个脚本,需要同学们自行修改代码实现。

2)只适用于安卓设备吗?

是的,这个 demo 仅适用于安卓设备的多机并行,不适合 iOS 的多机并行,如需要实现 iOS 的多机并行,也需要同学们自行编写脚本实现。

3)其它多机教程

更多多机教程可以参考我们的往期推文:


Airtest 官网https://airtest.netease.com/
Airtest 教程官网https://airtest.doc.io.netease.com/
搭建企业私有云服务https://airlab.163.com/b2b

官方答疑 Q 群:117973773

呀~这么认真都看到这里啦,帮忙点击左下角的爱心,给我点个赞支持一下把,灰常感谢~

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册