• Pytest-Allure及Allure命令使用


    一、Allure介绍

    Allure是Pytest用于生成测试报告的框架,提供丰富的测试报告功能;

    二、Allure安装

    Allure安装分为2块,分别是pytest-Allure库安装,本地生成报告并导出的命令行allure安装;

    1、pytest-Allure库安装

    pip install allure-pytest
    
    • 1

    2、allure命令行工具安装

    (1)安装jdk依赖(如果已安装则可忽略)

    • 下载路径:下载路径
      在这里插入图片描述
    • 安装成功后,添加环境变量
      在这里插入图片描述
    • 测试安装成功:命令行输入Java
      在这里插入图片描述
      (2)下载allure命令行工具:https://github.com/allure-framework/allure2/releases
      在这里插入图片描述
      (3)下载zip到本地,解压到某个目录,添加bin目录到环境变量
      在这里插入图片描述
      (4)环境变量添加成功后,测试是否成功
      allure --version,如果添加成功,则会出版本;如果添加失败,则提示“allure是未知命令”
      在这里插入图片描述

    三、Pytest-Allure相关方法

    @allure.epic():用于类级别
    @allure.feature():用于类级别
         
        以下是测试用例级别:
        @allure.severity('normal')
        @allure.story('故事1:获取天气数据')
        @allure.title('获取单个城市的天气')
        @allure.description('获取深圳的天气')
        @allure.testcase('测试用例地址:www.***.com')
        @allure.issue('缺陷管理地址:https://www.zentao.net/')
        @allure.tag('这是tag')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    四、Allure生成和导出报告

    1、Allure生成报告

    在生成报告的过程中,用的是pytest-alliure,pytest-allure在用例执行过程中,监听执行结果并记录下来

    # 在运行测试用例时,--alluredir指定生成目录
    pytest --alluredir=reports
    或者
    pytest.main(["testcases/Android/advertise", '--alluredir=allure-results'])
    
    • 1
    • 2
    • 3
    • 4

    2、Allure命令行导出报告

    allure导出并打开报告,有2种方式,一是使用allure generate +open、二是使用allure server,如下
    方式一、allure open allure-report
    (1)导出报告使用的是allure命令行

    # XXX为--alluredir指定生成的目录
    # 导出报告到当前XXX目录下,会自动生成一个allure-report文件夹
    # 注意XXX使用绝对路径,比如:D:\QAantoTest\XX\allure-results
    allure generate XXX
    
    # 使用-o/--report-dir/--output导出allure-report到对应的XXX2文件夹
    # XXX为--alluredir指定生成的目录,使用绝对路径,同上面
    allure generate XXX -o XXX2
    
    # 如果已有导出的allure-report,则需要使用-c/--clean选项
    allure generate XXX --clean
    或者
    allure generate XXX -c
    或者
    allure generate XXX -o XXX2 --clean
    或者
    allure generate XXX -o XXX2 -clean
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    (2)打开报告到浏览器

    # 打开XXX3下的报告到浏览器
    # XXX3是生成allure-report的目录,使用绝对路径
    allure open XXX3
    
    • 1
    • 2
    • 3

    方式二、allure serve

    # 打开 allure 报告
    # XXX为--alluredir指定生成的目录,使用绝对路径
    allure serve XXX
    
    • 1
    • 2
    • 3

    区别
    (1)方式一会先导出allure-report,可以直接打开目录下的index_html文件;方式二将allure测试报告的原始数据(xml/json/text/attach等文件)直接在浏览器打开allure测试报告,而不在本地生成任何文件。
    (2)方式二虽然不会在本地生成任何文件,但看bash输出,是会先创建temp临时文件导出allure-report,再直接打开,两者无本质区别。

    五、allure报告详解

    Overview:整体数据显示,用例数目,通过率、suites测试集信息、feature模块
    在这里插入图片描述
    Categories:“类别”选项卡提供了创建自定义缺陷分类、应用测试结果的方法,可以查看具体的错误输出
    在这里插入图片描述
    Suites:用例集合,按照套件(testcases.Android.advertise)和类分组,已执行测试的结构展示,也可查看每个用例的信息
    在这里插入图片描述
    Graphs:用图表显示测试数据中收集的不同统计数据,状态分解或严重性和持续时间图
    在这里插入图片描述
    Timeline:时间轴选项卡可视化测试执行的回顾,allure适配器收集测试的精确时间
    Behaviors:对于场景驱动,此选项卡根据Epic、Feature和Story标记对测试结果进行分组。
    在这里插入图片描述
    Packages:按不同的包名分组,有多个模块的测试用例时,使用更清晰

    六、allure命令行详解

    1、查看Allure帮助文档

    allure -h
    
    • 1

    2、allure命令行格式

    allure [options] [command] [command options]
    
    • 1

    Options:
    –help 命令行帮助文档
    -q, --quiet 切换至安静模式 Default: false
    -v, --verbose 切换至冗长模式 Default: false
    –version 版本信息 Default: false

    command 列表
    generate
    serve
    open
    plugin
    注:每个command对应不同的command option,可通过allure --help

  • 相关阅读:
    springboot实现redisson分布式锁案例
    【Vue】开发实现 Vue 中的自定义指令(2)
    3.MySQL数据库的索引
    Rocketmq学习2——Rocketmq消息过滤&事务消息&延迟消息原理源码浅析
    WorkPlus Meet视频会议系统,可私有化部署,保障内部数据安全
    力扣:111. 二叉树的最小深度(Python3)
    Java数组的定义与使用(保姆级别详细)(一)
    二战字节跳动成功上岸,准备了小半年,拿27k也算不上很高吧~
    如何看待时间序列与机器学习?
    Linux文件元数据操作
  • 原文地址:https://blog.csdn.net/qq_37954088/article/details/134169150