一、什么是pytest+Allure

pytest+Allure是一种使用Python语言的测试框架和测试报告生成工具的组合,可以用于进行自动化测试和展示测试结果 。

pytest是一种简洁、灵活、易扩展的测试框架,可以支持多种测试类型,如单元测试、功能测试、集成测试等,也可以与其他测试工具和库集成,如selenium, requests, mock等 。Allure是一种轻量级、支持多语言的开源测试报告生成框架,可以生成美观、清晰、详细的测试报告,也可以集成到持续集成工具,如Jenkins等 。pytest+Allure可以让测试人员更方便地编写、运行、管理和查看测试用例和测试报告,提高测试效率和质量 。

二、pytest+Allure是如何实现的

pytest是基于Python的内置模块unittest和doctest的改进,使用了一些特殊的装饰器和断言,以及一些插件机制,来实现测试用例的编写、运行和管理 。Allure是基于Java语言开发的,使用了一些注解和命令行工具,以及一些插件机制,来实现测试结果的收集、分析和展示 。pytest+Allure是通过allure-pytest这个插件来实现的,这个插件可以让pytest在运行测试用例时,生成Allure能够识别的测试结果文件,然后Allure可以根据这些文件生成测试报告 。

三、pytest+Allure是如何使用的

首先,需要安装pytest和llure-pytest这两个库,可以使用pip命令来安装,如pip install pytest allure-pytest 。其次,需要下载allure的命令行工具,可以从[allure的官网]或[allure的GitHub]下载,然后将其bin目录添加到环境变量中,以便在命令行中使用allure命令 。然后,需要编写测试用例,可以使用pytest的装饰器和断言,也可以使用allure的装饰器和附加信息,来增加测试用例的可读性和可维护性 。接着,需要运行测试用例,可以使用pytest的命令行参数,如pytest test.py,也可以使用allure的命令行参数,如pytest test.py --alluredir=./result,来指定生成测试结果文件的目录 。最后,需要生成测试报告,可以使用allure的命令行工具,如allure serve ./result,来直接在浏览器中打开测试报告,或者allure generate ./result -o ./report,来生成测试报告的静态网页文件,然后使用allure open ./report,来在浏览器中打开测试报告 。

四、Allure的层级标签

allure的层级标签是指allure提供的一些装饰器函数,可以用来给测试用例添加一些分类和描述信息,以便在生成的测试报告中更清晰地展示测试用例的结构和内容 。

allure的层级标签主要有以下几种:

    - @allure.epic():用来标记测试用例属于哪个项目或者史诗,是最高层级的标签,可以理解为项目名称 。

    - @allure.feature():用来标记测试用例属于哪个功能或者模块,是第二层级的标签,可以理解为模块名称 。

    - @allure.story():用来标记测试用例属于哪个用户故事或者子模块,是第三层级的标签,可以理解为子模块名称 。

    - @allure.title():用来标记测试用例的标题,是第四层级的标签,可以理解为用例标题 。

    - @allure.severity():用来标记测试用例的严重程度或者优先级,是第五层级的标签,可以理解为用例等级 。

allure的层级标签的使用方法是:

在编写测试用例的时候,可以在测试类或者测试方法的开头,使用相应的装饰器函数,给测试用例添加层级标签,例如:

import pytest

import allure

@allure.epic("计算器项目")

@allure.feature("加法模块")

class TestAdd:

@allure.story("正数相加")

@allure.title("测试两个正数相加")

@allure.severity(allure.severity_level.NORMAL)

def test_add_positive(self):

assert 1 + 2 == 3

@allure.story("负数相加")

@allure.title("测试两个负数相加")

@allure.severity(allure.severity_level.MINOR)

def test_add_negative(self):

assert -1 + -2 == -3

在运行测试用例的时候,可以使用pytest的命令行参数,如pytest test_add.py --alluredir=./result,来指定生成测试结果文件的目录 。 在生成测试报告的时候,可以使用allure的命令行工具,如allure serve ./result,来直接在浏览器中打开测试报告,或者allure generate ./result -o ./report,来生成测试报告的静态网页文件,然后使用allure open ./report,来在浏览器中打开测试报告。 在浏览器中查看测试报告的时候,可以看到测试用例按照层级标签的顺序和内容进行展示。

五、总结

pytest+allure是一种非常强大和实用的测试工具组合,可以帮助测试人员更高效和高质地完成自动化测试工作。本文介绍了pytest+allure的概念、原理和使用方法,希望对大家有所帮助。

推荐阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: 


大家都在找:

pytest:pytest接口自动化测试框架+项目实例

python:python是做什么的

大家都在看: