• AirTest多设备批量运行测试用例并自动生成测试报告


    前言

    AirtestIDE作为一款优秀的自动化测试集成开发工具,为广大APP和游戏开发者们带来了一站式自动化测试解决方案。用户借助AirtestIDE可以直连手机,快速生成、调试和运行自动化测试脚本,并一键得到测试报告。

    在日常实践中,很多同学生产大量的测试用例后,在本地运行这些用例时遇到了困难。比如:现成工具无法直接使用本地设备群批量运行测试脚本;批量运行脚本后不能一键生成汇总报告。

    在网上发现了这位大佬的教程,很符合我的需求,所以在源码基础上做了一些更适合自己使用方式的一些修改

    • [√] 1、解决了Android 10设备无法运行脚本的问题RuntimeError:minicap server setup timeout
    • [√] 2、导入设备名称json文件,输出报告时读取并显示中文设备名称(相较于设备ID看起来更便于区分)
    • [√] 3、新建一个目录AirTest_Case用来放置所有的AirTest用例脚本,可以放置多个脚本,运行时输入自己想要执行的脚本即可
    • [√] 3、报告整合输出在文件夹report下,方便执行结束后查看汇总报告
    • [√] 4、增加了生成的测试报告名称规则(防止二次执行测试后,测试报告命名重复,会覆盖掉上一份测试报告)
    • [√] 5、解决 AirTest生成报告路径问题(修改AirTest原生报告内资源引用路径问题)
      • [ ] ↓ 使用--outfile参数这样报告生成为绝对路径(本地看是没问题的,但是把报告打包发给别人浏览时,别人会无法查看报告详情)
      • [√] ↑ 把参数--outfile修改为 --export ,指定报告路径 , 这样发送给别人就可以查看了,但是文件资源会略大一些
    • [√] 6、添加了删除的方法,脚本执行结束后自动删除报告中冗余的文件夹及文件

    批量运行脚本功能的针对场景主要有2个:
    1、功能回归测试: 每个脚本均只需要运行一次,保证所有脚本都得到运行;
    2、本地兼容性测试: 每个测试脚本都需要在所有手机上运行一次,确保所有脚本都进行兼容性测试。


    一、airtest安装、环境搭建

    1.python环境安装

    这里不再赘述,安装并配置好环境变量后,执行python -V查看是否安装成功
    python -V

    2.airtestIDE安装

    airtest安装很简单,安装airtestIDE,从官网下载:http://airtest.netease.com/

    下载后解压缩到本地,双击exe文件即可启动airtestIDE工具

    3.依赖包安装

    需要安装如下包:

    pip install airtest

    pip install pocoui

    如果执行不能安装成功,则可以使用如下命令:

    pip install -i http://pypi.douban.com/simple --trusted-host pypi.douban.com airtest

    pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com pocoui


    airtest编写selenium自动化脚本

    pip install selenium

    pip install pynput

    pip install airtest_selenium

    关于这一步的安装也就是 pip install airtest_selenium,也可以拷贝airtest目录下的airtest_selenium文件夹到python目录下。

    除了安装上面的包,还需要配置谷歌浏览器路径和下载匹配的谷歌驱动文件

    airtest设置谷歌启动路径:airtestIDE界面-点击选项-点击设置-点击chrome path选择谷歌安装路径一直到chrome.exe文件

    下载匹配的谷歌驱动文件:
    可以使用该网站下载:https://npm.taobao.org/mirrors/chromedriver
    下载后替换掉airtest根目录下的chromedriver.exe文件即可

    二、框架搭建

    1.框架文件结构:

    该框架搭建很简单,就是一个python工程

    • AirTest
      • AirTest_Case
        • xxx.air
        • xxxxx.air
      • report
      • result
        • AirTest_Case
      • devices_name.json
      • report_tpl.html
      • run.py

    项目结构

    2.框架运行

    执行命令时可以用python run.py运行整个框架

    但是写脚本或者调试脚本时,用airtestIDE来操作,
    即从airtestIDE中新建编辑.air脚本保存到该框架的AirTest_Case目录下,调试通过后再用run.py进行执行。这样就比较清晰

    3.测试报告效果

    测试报告效果

    三、打包成可视化运行程序

    1.界面展示:

    AirTest批量启动器

    2.遇到的问题:

    用pyqt5写的可视化界面
    遇到的问题:
    1、脚本运行过程中,窗口会出现卡顿,假死
    2、脚本运行过程中点击其他按钮(譬如:刷新设备、下拉切换脚本等按钮),会干扰脚本运行,导致脚本运行失败
    3、切换pc设备,脚本运行失败
    解决方法:
    1、2参考这位大佬的教程,用了信号完美解决
    第3个问题是因为缺少airtest模块导致

    3.使用说明:

    1、运行环境为python3
    2、点击文件夹下的 《安装运行环境.bat》 文件,等待安装好运行环境;
    3、把自己写的air脚本放置到AirCase文件夹下(说明:上文中的用例文件夹名称AirTest_Case过长,后面改为了AirCase)
    4、启动run.exe即可

    需要工具或者有好的建议可以评论或私信我

  • 相关阅读:
    AC自动机(转载)
    hdu 4352 XHXJ's LIS(数位dp+状压)
    hdu 4734 F(x)(数位dp)
    hdu 3709 Balanced Number(数位dp)
    hdu 6268 Master of Subgraph(点分治+bitset)
    poj 1741 tree(点分治)
    pytorch 矩阵数据增加维度unsqueeze和降低维度squeeze
    pytorch seq2seq模型中加入teacher_forcing机制
    pytorch seq2seq模型训练测试
    python os模块判断文件是否存在,file_path获取当前文件路径
  • 原文地址:https://www.cnblogs.com/qvchuang/p/airtest.html
Copyright © 2020-2023  润新知