Python测试框架pytest(28)测试报告Allure - 动态生成标题、动态生成功能、报告添加用例失败截图

本文介绍了如何使用Python测试框架pytest的Allure插件动态生成测试用例标题、动态生成功能,以及在测试报告中添加用例失败的截图。通过参数化、@allure.title()、@allure.description()和allure.dynamic系列方法实现标题和描述的动态设置。同时,展示了在用例失败时如何捕获截图并将其添加到Allure测试报告中。
摘要由CSDN通过智能技术生成

一、动态生成标题

默认 allure 报告上的测试用例标题不设置就是用例名称,其可读性不高;当结合 @pytest.mark.parametrize 参数化完成数据驱动时,如标题写死,其可读性也不高。

那如果希望标题可以动态的生成,采取的方案是:

参数化 @pytest.mark.parametrize + @allure.title()

1.1、示例一:参数化无标题

1、创建
test_allure_title_parametrize.py文件

脚本代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
"""

import pytest
import allure

@pytest.fixture()
def login(request):
    """登录"""
    param = request.param
    print(f"用户名:{param['username']},密码:{param['password']}")
    # 返回
    return {"code": 0, "msg": "登陆成功"}

datas = [
    {"username": "name1", "password": "pwd1"},
    {"username": "name2", "password": "pwd2"},
    {"username": "name3", "password": "pwd3"}
]

@allure.story('登录功能')
@pytest.mark.parametrize('login', datas, indirect=True)
def test_login(login):
    """
    登录测试用例
    """
    assert login['code'] == 0

2、输入命令运行:

pytest test_allure_title_parametrize.py --alluredir=./allure
allure serve allure

如图所示:用例标题就是函数名+参数化的数据

1.2、示例二:参数化有标题

1、创建
test_allure_title_parametrize2.py文件

脚本代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
"""

import pytest
import allure

@pytest.fixture()
def login(request):
    """登录"""
    param = request.param
    print(f"用户名:{param['username']},密码:{param['password']}")
    # 返回
    return {"code": 0, "msg": "登陆成功"}

datas = [
    {"username": "name1", "password": "pwd1"},
    {"username": "name2", "password": "pwd2"},
    {"username": "name3", "password": "pwd3"}
]

@allure.story('登录功能')
@allure.title('登录测试用例')
@pytest.mark.parametrize('login', datas, indirect=True)
def test_login(login):
    """
    登录测试用例
    """
    assert login['code'] == 0

2、输入命令运行:

pytest test_allure_title_parametrize2.py --alluredir=./allure
allure serve allure

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值