Pytest框架+Allure自动生成美观的测试报告!

一、安装Allure

已安装可以跳过此步骤,没安装的可以按照下面教程安装:

二、安装Allure插件

安装pytest的allure插件:pip install allure-pytest

三、Allure在pytest中的用法

1.基础用法:

#执行pytest,生成allure所需要的数据源。--alluredir设置数据源存放目录
pytest --alluredir=./allure-results

# 执行此命令,将在默认浏览器中显示生成的报告
allure serve ./allure-results

2.Allure用例描述

图片[1] - Pytest框架+Allure自动生成美观的测试报告! - 三酷猫

3.pytest关于allure的命令行参数

pytest运行用例的时候可以加上allure标记用例的参数

–allure-severities=SEVERITIES_SET选择运行你要执行severity等级的用例
–allure-epics=EPICS_SET选择运行你要执行epic的用例
–allure-features=FEATURES_SET选择运行你要执行features的用例
–allure-stories=STORIES_SET选择运行你要执行stories的用例
–allure-link-pattern=LINK_TYPE:LINK_PATTERN选择运行你要执行link的用例
–alluredir=DIR设置allure的数据源目录
–clean-alluredir如果存在allure源目录,清除
–allure-no-capture取消添加程序中捕获到控制台或者终端的log日志或者print输出到allure测试报告的Test Body中。

四、案例

#test_a.py
import pytest
import allure
@pytest.fixture(scope="session")
def login():
    print("前置条件:登录")
 
@allure.step("步骤1")
def step_1():
    print("操作步骤----1")
 
@allure.step("步骤2")
def step_2():
    print("操作步骤----2")
 
@allure.step("步骤3")
def step_3():
    print("操作步骤----3")
 
@allure.epic("epic对大story的一个描述性标签")
@allure.feature("测试模块")
class TestC:
    @allure.testcase("http://www.tc.com")
    @allure.issue("https://www.bug.com/")
    @allure.title("测试用例的标题")
    @allure.story("用户故事:1")
    @allure.severity("blocker")
    def test_1(self,login):
        '''我是用例1的描述内容,看的见我不'''
        step_1()
        step_2()
 
    @allure.story("用户故事:2")
    def test_2(self,login):
        print("测试用例2")
        step_1()
        step_3()
@allure.epic("epic对大story的一个描述性标签")
@allure.feature("模块块2")
class TestC2():
    @allure.story("用户故事:33")
    def test_3(self,login):
        print("测试用例test_3")
        step_1()
 
    @allure.story("用户故事:44")
    def test_4(self,login):
        print("测试用例test_4")
        step_3()  

生成测试报告如下:

图片[2] - Pytest框架+Allure自动生成美观的测试报告! - 三酷猫

通过上图我们也可以明白:@allure.feature()是一个功能模块,@allure.story()是一个功能点,而@allure.title()就是一个个测试用例

五、设置报告中的测试环境

在allure-results(pytest –alluredir设置的数据源目录)文件夹下(*.json报告文件同级目录)新建一个environment.properties文件,里面可以填写环境参数信息。主要用来写报告生成的环境啥的。

图片[3] - Pytest框架+Allure自动生成美观的测试报告! - 三酷猫
SystemVersion = Windows 11
javaVersion = 1.8.0_131
pythonVersion=3.9.10
pytestversion=6.2.5
allureVersion=2.17.2
pyVersion =1.11.0
pluggyVersion=1.0.0
pycharmVersion = PyCharm 2021.2.1 (Professional Edition)
Browser = Microsoft Edge
rootdir=C:/Users/admin/PycharmProjects/pythonProject/okmarts_test_front
plugins = allure-pytest-2.9.45
图片[4] - Pytest框架+Allure自动生成美观的测试报告! - 三酷猫
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享