如果你还想从头学起Pytest,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1690628.html
前言
这一篇幅,我们主要来讲解最后三个常见特性,主要是为了将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,1)">name)) def issue(url,1)">return link(url,link_type=LinkType.ISSUE,1)">name) def testcase(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(): passhttps://www.youtube.com/watch?v=Su5p2TqZxKU',name=点击我看一看youtube吧 test_with_named_link(): @allure.issue(140bug issue链接 test_with_issue_link(): @allure.testcase(TEST_CASE_LINK,测试用例地址 test_with_testcase_link(): pass
运行结果,查看allure报告
@allure.link()不传name参数时的样式
不传name的话,如果链接很长,可读性就比较差啦!
@allure.link()传了name参数时的样式
@allure.testcase()的样式
其实跟link()没有太大区别.....
@allure.issue()的样式
多了个虫子哈哈哈哈
总结
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。