一、allure环境部署

1、allure介绍

Allure Framework 是一个开源的,灵活的,轻量级,多语言的测试报告框架(工具)。

allure支持多种测试框架,如Pytest、TestNG等。

allure支持的框架按语言分组:Java、Python、 JavaScript、Ruby、Groovy、PHP、.Net和Scala。

allure可以和Pytest测试框架集成,在 Pytest 执行完生成的测试数据的基础上,进行处理,生成格式统一、美观的测试报告。 

官网文档教程:Allure Framework

2、安装JDK

在使用 Allure CLI 之前,您必须安装 Java 1.8。安装JDK详细教程:JDK和JRE的区别和环境变量配置

3、安装allure

方法1:命令行方式安装

scoop install allure

scoop:winds平台的软件包管理器,类似pip,使用这种方式需要先安装scoop。

方法2:手动安装

步骤1:下载allure-commandline.zip文件

下载地址:Central Repository: io/qameta/allure/allure-commandline

 这里我选择的是最新版本2.19.0,下载zip包。

 

步骤2:配置环境变量

将zip文档解压缩到 allure-commandline 目录,然后导航到bin目录,执行allure.bat批处理文件。文件执行成功后会自动退出,看到的只有打开cmd窗口后很快自动关闭。

复制当前路径,将其添加到环境变量Path中。wind10窗口搜索关键字:环境变量

步骤3:检查安装是否成功

allure --version

版本号跟我们下载的zip包文件一致。

4、安装allure-pytest插件

pip install allure-pytest

这将自动安装allure-pytest 和allure-python-commons包,以生成与allure 2兼容的报告数据。如果您在第一代allure报告中使用早期版本的适配器,则需要先卸载它。

注意:

allure-pytest插件是在pytest中使用allure的依赖,只有你使用的是pytest测试框架的时候才需要安装这个插件。

二、allure测试报告生成

1、快速生成allure测试报告

allure会将测试用例的执行结果保存到测试结果数据文件当中,再通过allure命令将测试结果数据文件转换成html形式的测试报告。

(1)编写测试用例如下:

import pytest


def test_success():
    """this test succeeds"""
    assert True


def test_failure():
    """this test fails"""
    assert False


def test_skip():
    """this test is skipped"""
    pytest.skip('for a reason!')


def test_broken():
    raise Exception('oops')

(2)pytest执行测试用例,保存测试结果到测试结果数据文件

pytest --alluredir=allure-results

项目如下,执行上面的命令将测试结果保存在allure-results文件夹中。

 虚拟环境报错解决方案:python -m pytest --alluredir=allure-results

(3)从测试结果数据文件生成allure测试报告

allure generate allure-results 

默认生成测试报告文件夹allure-report。

(4)打开allure测试报告

allure open allure-report

会使用默认浏览器打开allure测试报告

2、allure测试报告结构

https://docs.qameta.io/allure/#_report_structure

  • Overview:测试报告的整体概述页面。
  • Categories:类别选项卡为您提供了创建自定义缺陷分类以应用测试结果的方法
  • Suites:在“套件”选项卡上,可以找到按套件和类分组的已执行测试的标准结构表示。
  • Graphs:图表允许您查看从测试数据中收集的不同统计信息:状态细分或严重性和持续时间图
  • Timeline:该选项卡可视化测试执行的回顾,allure 适配器收集测试的精确时间,在此选项卡上,它们根据其顺序或并行时间结构进行排列。
  • Behaviors:对于行为驱动方法,此选项卡根据 Epic、Feature 和 Story 标签对测试结果进行分组。
  • Packages :该选项卡表示测试结果的树状布局,按不同的包分组。

3、allure命令行参数大全

使用 allure --help 查看allure的所有命令行参数信息。

语法格式:

allure [options] [command] [command options]

参数说明:

[options]

        --help :打印allure命令行帮助信息

        --version:打印allure版本信息

[command]

        generate: 生成测试报告,默认:allure-report

                用法:generate [options] <directory-with-results>

                [options]参数:

                        -c, --clean        在生成新的测试报告文件之前,清除历史记录
                        -o, --report-dir, --output        指定生成测试报告的文件夹

        open:使用默认浏览器打开测试报告

                用法:open [options] <directory-with-report>

        serve:生成测试报告到临时文件夹,然后使用默认浏览器打开测试报告

                用法:serve [options] <directory-with-results>

4、allure常见命令

(1)以json文件格式保存测试结果:

pytest --alluredir=<directory-with-results>

(2)使用--clean-alluredir清除历史记录:

pytest --alluredir=allure-results --clean-alluredir

(3)从json格式的测试结果文件生成html格式的测试报告,默认生成测试报告文件夹allure-report:

allure generate <directory-with-results>

(4)使用-o更改生成测试报告的目标文件夹:

allure generate <directory-with-results> -o <directory-with-report>

(5)使用-c在生成新的测试报告文件之前,清除历史记录:

allure generate <directory-with-results> -o <directory-with-report> -c

(6)在默认系统浏览器中打开测试报告:

allure open <directory-with-report>

(7)生成测试报告到临时文件夹,然后直接使用web server打开测试报告:

allure serve <directory-with-results>

三、allure测试报告分享

1、使用Anywhere插件分享Allure测试报告到局域网

工作中需要将测试报告分享给开发定位问题,或者分享测试报告给领导和同事。这个时候可以使用nodejs 的第三方模块anywhere实现简单快速分享。

Anywhere是一个基于 Node.js 的 Web 的文件服务器,可以将本地文件共享到 Internet。它使用简单、易于设置、支持多种文件类型和浏览器。使用 Anywhere 可以非常快速和方便地分享本地文件,特别适合用于在团队协作中分享文件或者在自己的设备与其他设备之间共享文件。

(1)安装nodejs

下载地址:下载 | Node.js

下载完之后按照步骤默认安装就行,安装完成后命令行输入命令"node --version"检查是否安装成功。 

C:\Users\057776>node --version
v18.16.0

(2)安装anywhere

npm install anywhere -g

(3)分享allure测试报告

allure-report测试报告文件夹路径下执行命令anywhere生成http和HTTPS服务。

 最后,将上面生成的报告路径分享给领导就行。


reference:

Allure Framework

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐