超详细,自动化测试-Allure测试报告动态生成用例/标题(实战撸码)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

pytest 结合 allure 描述用例的时候我们一般使用 @allure.title 和 @allure.description 描述测试用例的标题和详情。

在用例里面也可以动态更新标题和详情,使用allure.dynamic方法实现。

allure.dynamic 动态属性

feature 模块

allure.dynamic.feature(feature_name)

功能点 story

allure.dynamic.story(case_story)

用例标题 title

allure.dynamic.title(case_title)

用例描述:请求URL 请求类型 期望结果 实际结果描述

desc = "请求URL:{}
"
\ "请求类型:{}
"
\ "期望结果:{}
"
\ "实际结果描述:{}
"
.format(url,method,expect,expect_result) allure.dynamic.description(desc)

description 用例描述

可以在测试主体内部动态更新描述 allure.dynamic.description

import allure

@allure.description("""
This description will be replaced at the end of the test.
""")
def test_dynamic_description():
    assert 42 == int(6 * 7)
    allure.dynamic.description('A final description.')

最后用例的描述被更新为 ‘A final description.’

超详细,自动化测试-Allure测试报告动态生成用例/标题(实战撸码)_第1张图片

title 用例标题

用例标题也可以被动态更新

@allure.title("This title will be replaced in a test body")
def test_with_dynamic_title():
    assert 2 + 2 == 4
    allure.dynamic.title('After a successful test finish, the title was replaced with this line.')

最终用例的title更新为’After a successful test finish, the title was replaced with this line.’

超详细,自动化测试-Allure测试报告动态生成用例/标题(实战撸码)_第2张图片

参数化

参数化时候,可以使用@allure.title给用例不同标题

@allure.title("Parameterized test title: adding {param1} with {param2}")
@pytest.mark.parametrize('param1,param2,expected', [
    (2, 2, 4),
    (1, 2, 5)
])
def test_with_parameterized_title(param1, param2, expected):
    assert param1 + param2 == expected

也可以在用例里面使用allure.dynamic.title更新用例的标题

import pytest
import allure

def login(username, password):
    '''登录'''
    print("输入账号:%s" % username)
    print("输入密码:%s" % password)
    # 返回
    return {"code": 0, "msg": "success!"}


# 测试数据
test_datas = [
    ({"username": "mo1", "password": "123456"}, "success!", "输入正确账号,密码,登录成功"),
    ({"username": "mo2", "password": "123456"}, "failed!", "输入错误账号,密码,登录失败"),
    ({"username": "m03", "password": "123456"}, "success!", "输入正确账号,密码,登录成功"),
]


@allure.story("登录用例")
@pytest.mark.parametrize("test_input,expected,title",
                         test_datas
                         )
def test_login(test_input, expected, title):
    '''测试登录用例'''
    # 获取函数返回结果
    result = login(test_input["username"], test_input["password"])
    # 断言
    assert result["msg"] == expected
    allure.dynamic.title(title)

最终生成报告效果

超详细,自动化测试-Allure测试报告动态生成用例/标题(实战撸码)_第3张图片

其它属性

allure.dynamic.feature
allure.dynamic.link
allure.dynamic.issue
allure.dynamic.testcase
allure.dynamic.story
allure.dynamic.title
allure.dynamic.description

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

超详细,自动化测试-Allure测试报告动态生成用例/标题(实战撸码)_第4张图片

二、接口自动化项目实战

超详细,自动化测试-Allure测试报告动态生成用例/标题(实战撸码)_第5张图片

三、Web自动化项目实战

超详细,自动化测试-Allure测试报告动态生成用例/标题(实战撸码)_第6张图片

四、App自动化项目实战

超详细,自动化测试-Allure测试报告动态生成用例/标题(实战撸码)_第7张图片

五、一线大厂简历

超详细,自动化测试-Allure测试报告动态生成用例/标题(实战撸码)_第8张图片

六、测试开发DevOps体系

超详细,自动化测试-Allure测试报告动态生成用例/标题(实战撸码)_第9张图片

七、常用自动化测试工具

超详细,自动化测试-Allure测试报告动态生成用例/标题(实战撸码)_第10张图片

八、JMeter性能测试

超详细,自动化测试-Allure测试报告动态生成用例/标题(实战撸码)_第11张图片

九、总结(尾部小惊喜)

只有一条路可以通向梦想,那就是坚定不移地走下去;永远不要停止学习和成长,让自己不断进步;不要轻易放弃,因为成功往往就在最后一步的前面;相信自己,你可以成为你想成为的人。

人生就像一场马拉松比赛,只有不断奋斗,才能赢得成功的终点。在追逐梦想的路上,无论遇到多少挫折和磨难,都要坚持不懈,勇往直前。只有拥有不屈不挠的毅力和坚定的信念,才能成为真正的强者,迎接人生的辉煌。

成功离我们并不遥远,只要我们持之以恒、不放弃,坚定信念,勇往直前,定能攀登到人生的顶峰。相信自己,你一定可以!

你可能感兴趣的:(自动化测试,软件测试,python自动化测试,自动化测试,python自动化测试,allure,测试开发,软件测试)