Pytest学习笔记(11)-allure特性·环境配置和用例分类

文章目录

      • 前言
      • Environment
        • 如何添加环境变量
          • 通过environment.properties文件添加
          • 通过environment.xml文件添加
      • Categories
        • 如何创建自定义缺陷分类
        • 参数注意
        • 话不多说,上代码

前言

pytest自动化测试中,要想报告内容丰富,优雅和可读性强,就需要与allure结合使用。allure报告有很多内置的特性,这些特性主要以配置文件、装饰器、函数等的方式使用,使我们的报告更加直观、详细。

Environment

环境变量,可以读取环境变量配置文件,并直观的展示到测试报告内。可以说是附加的功能,并没有什么实际效果,看需求而定即可。

注意:默认无此功能

如何添加环境变量

通过environment.properties文件添加
#environment.properties文件
Browser=Chrome
Browser.Version=63.0
Stand=Production
Type=properties

执行allure serve report\xml结果如下:
Pytest学习笔记(11)-allure特性·环境配置和用例分类_第1张图片

通过environment.xml文件添加

<environment>
    <parameter>
        <key>Browserkey>
        <value>Chromevalue>
    parameter>
    <parameter>
        <key>Browser.Versionkey>
        <value>63.0value>
    parameter>
    <parameter>
        <key>Standkey>
        <value>Productionvalue>
    parameter>
    <parameter>
        <key>Typekey>
        <value>xmlvalue>
    parameter>
environment>

执行allure serve report\xml结果如下:
Pytest学习笔记(11)-allure特性·环境配置和用例分类_第2张图片

Categories

翻译为类别,可以理解为用例执行结果的分类,配置后可以在测试报告内根据自己的分类规则,查看用例的执行情况

默认情况下有两类缺陷:

  • 产品缺陷(失败的测试)
  • 测试缺陷(损坏的测试)

如何创建自定义缺陷分类

要创建自定义缺陷分类,可以在生成报告之前将categories.json文件添加到allure-results目录(和上面环境变量文件一个目录下即可),categories.json内容如下:

[
  {
    "name": "Ignored tests", 
    "matchedStatuses": ["skipped"] 
  },
  {
    "name": "Infrastructure problems",
    "matchedStatuses": ["broken", "failed"],
    "messageRegex": ".*bye-bye.*" 
  },
  {
    "name": "Outdated tests",
    "matchedStatuses": ["broken"],
    "traceRegex": ".*FileNotFoundException.*" 
  },
  {
    "name": "执行失败了嘤嘤嘤",
    "matchedStatuses": ["failed"]
  },
  {
    "name": "Test defects",
    "matchedStatuses": ["broken"]
  }
]

参数注意

  • name:(必填)类别名称,可以为中文
  • matchedStatuses:(可选)用例运行的状态,默认["failed", "broken", "passed", "skipped", "unknown"]
  • messageRegex:(可选)用例运行的错误消息,默认".*",通过正则表达式匹配
  • traceRegex:(可选)用例运行的错误消息的堆栈跟踪,默认".*",通过正则表达式匹配

如果用例运行结果的状态在列表中并且错误消息和堆栈跟踪都与模式匹配,则测试结果属于该类别。

注意:categories.json如果使用[allure-maven]或[allure-gradle]插件 ,文件可以存储在测试资源目录中。

话不多说,上代码

创建用例文件test_01.py内容如下:

import pytest


@pytest.mark.skip()
def test_01():
    print("text case 01")


def test_02():
    print("text case 02")
    assert 1 == 2

执行pytest -vs --alluredir=./report/xml --clean-alluredir生成报告数据

执行allure serve report\xml打开测试报告
Pytest学习笔记(11)-allure特性·环境配置和用例分类_第3张图片

可以看到自定义的分类名字,Power!

你可能感兴趣的:(Pytest学习笔记,python)