Pytest系列(22)- allure的特性,@allure.link()、@allure.issue()、@allure.testcase()的详细使用

简介: Pytest系列(22)- allure的特性,@allure.link()、@allure.issue()、@allure.testcase()的详细使用

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

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

 

前言


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

  • @allure.description() :添加测试用例描述,一共三种方式哦!
  • @allure.title():指定测试用例标题,默认是函数名哦!

这一篇幅,我们主要来讲解最后三个常见特性,主要是为了将allure报告和测试管理系统集成,可以更快速的跳转到公司内部地址

  • @allure.link()
  • @allure.issue()
  • @allure.testcase()

 

先看看三个装饰器源码


def link(url, link_type=LinkType.LINK, name=None):
    return safely(plugin_manager.hook.decorate_as_link(url=url, link_type=link_type, name=name))
def issue(url, name=None):
    return link(url, link_type=LinkType.ISSUE, name=name)
def testcase(url, name=None):
    return link(url, link_type=LinkType.TEST_CASE, name=name)


知识点

  • issue()和testcase()其实调用的也是link(),只是link_type不一样
  • 必传参数 url:跳转的链接
  • 可选参数 name:显示在allure报告的名字,如果不传就是显示完整的链接;建议传!!不然可读性不高
  • 可以理解成:三个方法是一样的,我们都提供跳转链接和名字,只是链接的type不一样,最终显示出来的样式不一样而已【type不一样,样式不一样】
  • 如果你喜欢,只用@allure.link()也可以
  • 而出现三个装饰器的原因是为了更好地将链接分类【访问链接、Bug链接、测试用例链接】

 

看完源码和知识点,其实我们就没必要针对三个方法都展开来讲了,直接上代码,看报告的样式区别!

 

代码栗子


#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
__title__  =
__Time__   = 2020-04-18 17:01
__Author__ = 小菠萝测试笔记
__Blog__   = https://www.cnblogs.com/poloyy/
"""
import allure
TEST_CASE_LINK = 'https://github.com/qameta/allure-integrations/issues/8#issuecomment-268313637'
@allure.link('https://www.youtube.com/watch?v=4YYzUTYZRMU')
def test_with_link():
    pass
@allure.link('https://www.youtube.com/watch?v=Su5p2TqZxKU', name='点击我看一看youtube吧')
def test_with_named_link():
    pass
@allure.issue('140', 'bug issue链接')
def test_with_issue_link():
    pass
@allure.testcase(TEST_CASE_LINK, '测试用例地址')
def test_with_testcase_link():
    pass

‘‘

运行结果,查看allure报告

 

@allure.link()不传name参数时的样式

不传name的话,如果链接很长,可读性就比较差啦!

image.png

@allure.link()传了name参数时的样式

image.png

@allure.testcase()的样式

其实跟link()没有太大区别.....

image.png


@allure.issue()的样式

多了个虫子哈哈哈哈

image.png


总结


  • 为了减少程序的阅读复杂性,其实可以统一用@allure.link()
  • 传name,写好链接描述,就知道这个链接是干嘛的啦,反正三个装饰器的作用都是一样的,就是样式略微不同.....
相关文章
|
5月前
|
存储 设计模式 测试技术
怎么基于Pytest+Requests+Allure实现接口自动化测试?
该文介绍了一个基于Python的自动化测试框架,主要由pytest、requests和allure构成,采用关键字驱动模式。项目结构分为六层:工具层(api_keyword)封装了如get、post的请求;参数层(params)存储公共参数;用例层(case)包含测试用例;数据驱动层(data_driver)处理数据;数据层(data)提供数据;逻辑层(logic)实现用例逻辑。代码示例展示了如何使用allure装饰器增强测试报告,以及如何使用yaml文件进行数据驱动。
181 0
|
测试技术
26-pytest-allure描述用例详解
26-pytest-allure描述用例详解
|
XML Java 测试技术
Pytest-测试报告Allure
Pytest-测试报告Allure
341 0
|
测试技术
22-pytest-allure.step()测试步骤描述
22-pytest-allure.step()测试步骤描述
|
JSON 测试技术 数据格式
19-pytest-allure-pytest环境搭建
19-pytest-allure-pytest环境搭建
|
测试技术
pytest学习和使用22-allure特性 丨总览中的Environment、Categories设置以及Flaky test使用
pytest学习和使用22-allure特性 丨总览中的Environment、Categories设置以及Flaky test使用
150 0
|
自然语言处理 Java 测试技术
pytest学习和使用21-测试报告插件allure-pytest如何使用?
pytest学习和使用21-测试报告插件allure-pytest如何使用?
166 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
|
自然语言处理 JavaScript 前端开发
干货 | Pytest 结合 Allure 生成测试报告
干货 | Pytest 结合 Allure 生成测试报告
|
测试技术
Pytest系列(21)- allure的特性,@allure.description()、@allure.title()的详细使用
Pytest系列(21)- allure的特性,@allure.description()、@allure.title()的详细使用
263 0
Pytest系列(21)- allure的特性,@allure.description()、@allure.title()的详细使用