Pytest系列(21)- allure的特性,@allure.description()、@allure.title()的详细使用

简介: Pytest系列(21)- allure的特性,@allure.description()、@allure.title()的详细使用

如果你还想从头学起Pytest,可以看看这个系列的文章哦!

https://www.cnblogs.com/poloyy/category/1690628.html

 

前言

上一篇文章介绍了两种allure的特性

  • @allure.step() 装饰器:可以设置测试步骤,让测试用例的执行过程更加详细
  • allure.attach() 函数:可以设置需要显示在allure报告的附件,包含了多种类型,可以通过allure.attachment_type查看支持的类型

这一篇幅,我们主要来讲解另外两个特性,可以增加报告的可读性哦!

  • @allure.description()
  • @allure.title()

它们用法极其相近,只是作用不一样而已

 

@allure.description()


作用

可以添加足够详细的测试用例描述,以便于管理层查看哦哈哈哈

 

语法格式,有三种

  1. @allure.description(str)
  2. 在测试用例函数声明下方添加 """ """
  3. @allure.description_html(str):相当于传一个HTML代码组成的字符串,类似 allure.attach() 中传HTML

注意:方式一方式二的效果和作用是一致的, 哪个方便哪个来

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
__title__  =
__Time__   = 2020-04-18 15:24
__Author__ = 小菠萝测试笔记
__Blog__   = https://www.cnblogs.com/poloyy/
"""
import allure
import allure
# 方式一
@allure.description("""
这是一个@allure.description装饰器
没有特别的用处
""")
def test_description_from_decorator():
    assert 42 == int(6 * 7)
# 方式二
def test_unicode_in_docstring_description():
    """
    当然,在方法声明的下一行这样子写,也算一种添加description的方式哦
    """
    assert 42 == int(6 * 7)
# 方式三
@allure.description_html("""
<h1>Test with some complicated html description</h1>
<table style="width:100%">
  <tr>
    <th>Firstname</th>
    <th>Lastname</th>
  </tr>
  <tr align="center">
    <td>William</td>
    <td>Smith</td>
</table>
""")
def test_html_description():
    assert True


方式一的allure报告

image.png


方式二的allure报告

image.png


方式三的allure报告

image.png


@allure.title()


作用

  • 使得测试用例的标题更具有可读性,毕竟我们可以写成中文
  • 支持占位符传递关键字参数哦(动态标题,结合 @pytest.mark.parametrize 使用)

 

具体栗子一

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
__title__  =
__Time__   = 2020-04-18 16:09
__Author__ = 小菠萝测试笔记
__Blog__   = https://www.cnblogs.com/poloyy/
"""
import pytest, allure
@allure.title("前置操作:登录")
@pytest.fixture
def test_loginss(request):
    params = request.param
    name = params["username"]
    pwd = params["pwd"]
    allure.attach(f"这是测试用例传的参数{params}")
    print(name, pwd, params)
    yield name, pwd
@allure.title("成功登录,测试数据是:{test_loginss}")
@pytest.mark.parametrize("test_loginss", [
    {"username": "name1", "pwd": "pwd1"},
    {"username": "name2", "pwd": "pwd2"}], indirect=True)
def test_success_login(test_loginss):
    name, pwd = test_loginss
    allure.attach(f"账号{name},密码{pwd}")


运行结果,查看allure报告

这是一次综合多个之前学到的方法来完成的栗子,已经具体标出来啦!

image.png

具体栗子二

@allure.title("多个参数{name},{phone},{age}")
@pytest.mark.parametrize("name,phone,age", [
    (1, 2, 3),
    (4, 5, 6),
    (7, 8, 9)
])
def test_test_test(name, phone, age):
    print(name, phone, age)


运行结果,查看allure报告

image.png

总结

如果没有添加 @allure.title() 的话,测试用例的标题默认就是函数名,这样的可读性不高,毕竟咱们是中国人,显示中文title还是很有必要的~所以墙裂建议大伙儿加上啦!

相关文章
|
Java 测试技术 Windows
自动化测试报告样式HTMLTestRunner、BeautifulReport、HTMLReport、Allure你喜欢哪个?
自动化测试报告样式HTMLTestRunner、BeautifulReport、HTMLReport、Allure你喜欢哪个?
166 1
|
测试技术
22-pytest-allure.step()测试步骤描述
22-pytest-allure.step()测试步骤描述
|
测试技术
pytest学习和使用25-当看到allure的动态生成标题和描述的特性时,直言简直太灵活了(allure.dynamic使用)
pytest学习和使用25-当看到allure的动态生成标题和描述的特性时,直言简直太灵活了(allure.dynamic使用)
147 0
pytest学习和使用25-当看到allure的动态生成标题和描述的特性时,直言简直太灵活了(allure.dynamic使用)
|
测试技术
pytest学习和使用22-allure特性 丨总览中的Environment、Categories设置以及Flaky test使用
pytest学习和使用22-allure特性 丨总览中的Environment、Categories设置以及Flaky test使用
160 0
|
自然语言处理 Java 测试技术
pytest学习和使用21-测试报告插件allure-pytest如何使用?
pytest学习和使用21-测试报告插件allure-pytest如何使用?
176 0
pytest学习和使用21-测试报告插件allure-pytest如何使用?
|
测试技术
pytest(12)-Allure常用特性allure.attach、allure.step、fixture、environment、categories
上一篇文章pytest Allure生成测试报告我们学习了Allure中的一些特性,接下来继续学习其他常用的特性。
pytest(12)-Allure常用特性allure.attach、allure.step、fixture、environment、categories
|
测试技术 Python
Pytest系列(20)- allure的特性,@allure.step()、allure.attach的详细使用
Pytest系列(20)- allure的特性,@allure.step()、allure.attach的详细使用
474 0
Pytest系列(20)- allure的特性,@allure.step()、allure.attach的详细使用
|
测试技术
Pytest系列(22)- allure的特性,@allure.link()、@allure.issue()、@allure.testcase()的详细使用
Pytest系列(22)- allure的特性,@allure.link()、@allure.issue()、@allure.testcase()的详细使用
197 0
Pytest系列(22)- allure的特性,@allure.link()、@allure.issue()、@allure.testcase()的详细使用
|
测试技术
Pytest系列(23)- allure 打标记之 @allure.epic()、@allure.feature()、@allure.story() 的详细使用
Pytest系列(23)- allure 打标记之 @allure.epic()、@allure.feature()、@allure.story() 的详细使用
631 0
Pytest系列(23)- allure 打标记之 @allure.epic()、@allure.feature()、@allure.story() 的详细使用
|
测试技术
Pytest----allure报告定制样式
Pytest----allure报告定制样式
469 0
Pytest----allure报告定制样式

热门文章

最新文章