• allure 插件新手 demo


    allure 是一个能够生成美观可视化测试报告的插件。它有以下特点:

    • allure 是一个轻量级,灵活的,支持多语言的测试报告工具
    • 多平台的,奢华的 report 框架;
    • 可以为 dev/qa 提供详尽的的测试报告、测试步骤、log;
    • 也可以为管理理层提供 high level 统计报告;
    • Java 语言开发的,支持 pytest, JaveScript, PHP, ruby等
    • 可以集成到 Jenkins

    下面是一个 allure 插件与 pytest 集成使用的新手 demo 教程,教程参考 allure 官方文档

    1. 安装 alure

    下面是 mac 系统的安装命令,其他系统请点此查看安装方式

    brew install allure

    2. 安装 allure-pytest 插件

    这个插件用于和 pytest 集成,收集 pytest 运行时 case 的执行情况。

    安装命令为 pip install allure-pytest

    $ pip install allure-pytest

    3. 编写case和配置环境

    我这里创建了一个名为 allure_test 的文件夹,文件夹下只有两个文件和一个文件夹,其中两个文件一个是空的 __init__.py 文件,另一个是 test_allure_demo.py。allure-result 文件夹是用来存放测试报告的,里面是三个必要的配置文件。下面展开介绍每个文件的内容。

    allure_test/    
        ├── __init__.py # 空文件
        ├── test_aullure_demo.py # 测试case文件
        └── allure-result      # 测试结果文件夹
                 ├── categories.json
                 ├── environment.properties
                 └── environment.xml

    __init__.py

    空的

    test_aullure_demo.py

    这个是 pytest 的执行的 case,可以看到有4个 case,一个成功的 case,一个跳过的 case,两个失败的 case。

    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')

    allure-result 文件夹

    这个文件夹下的三个文件是环境配置文件,你想在哪个文件夹下生成测试报告,就把这三个配置文件放在哪个文件夹下。目前并不十分清楚每个配置文件的作用。下面是每个配置文件分别的内容,自己动手实践时无需修改,直接复制即可。

    categories.json

    [
      {
        "name": "Ignored tests",
        "matchedStatuses": [
          "skipped"
        ]
      },
      {
        "name": "Infrastructure problems",
        "matchedStatuses": [
          "broken",
          "failed"
        ],
        "messageRegex": ".*bye-bye.*"
      },
      {
        "name": "Outdated tests",
        "matchedStatuses": [
          "broken"
        ],
        "traceRegex": ".*FileNotFoundException.*"
      },
      {
        "name": "Product defects",
        "matchedStatuses": [
          "failed"
        ]
      },
      {
        "name": "Test defects",
        "matchedStatuses": [
          "broken"
        ]
      }
    ]

    environment.properties

    Browser=Chrome
    Browser.Version=63.0
    Stand=Production

    environment.xml

    <environment>
        <parameter>
            <key>Browser</key>
            <value>Chrome</value>
        </parameter>
        <parameter>
            <key>Browser.Version</key>
            <value>63.0</value>
        </parameter>
        <parameter>
            <key>Stand</key>
            <value>Production</value>
        </parameter>
    </environment>

    4. 运行case 并设置测试报告保存路径

    当前终端进入到 allure_test 路径下,执行下面的命令,pytest 执行 case,并带上--alluredir 参数指明测试报告的保存路径。

    pytest --alluredir=./allure-result

    下面是运行结果,成功了一个 case ,失败了2个 case,跳过1个 case。和我们预料的执行结果一样。

    5. 生成在线html 可视化报告

    使用 allure 生成在线 html 测试报告。继续在当前终端执行allure serve ./allure-result

    allure serve ./allure-result

    如果看到下面的执行结果算是执行成功了

    随后会自动跳转到浏览器,在新标签页中展示我们的测试报告。

    点击左侧的导航栏,可以看到每个 case 的执行情况

    以上内容大量参考 allure 官方文档,少量参考:python allure的介绍和使用(持续更新中)

  • 相关阅读:
    Delphi XE5 for Android (六)
    Delphi XE5 for Android (四)
    Delphi XE5 for Android (三)
    如何设计并使用FireMonkeyStyle
    Indy发送邮件被kbas退掉
    Indy10收发Hotmail邮件
    一个简单的打印监控示例
    DataSnap侦听端口动态设置问题
    面试题总结一
    spring boot RESTFul API拦截 以及Filter和interceptor 、Aspect区别
  • 原文地址:https://www.cnblogs.com/hi3254014978/p/15489719.html
Copyright © 2020-2023  润新知