pytest-allure美化——定制化输出测试报告

pytest-allure美化——定制化输出测试报告_第1张图片

点击关注,我们共同每天进步一点点!

一、定制化后的效果展示

  用两张图展示效果:

pytest-allure美化——定制化输出测试报告_第2张图片

pytest-allure美化——定制化输出测试报告_第3张图片

二、注意别踩坑

  allure定制化想必大部分情况都会去选择pip install pytest-allure-adaptor这个插件,安装完成后,运行定制化代码出现以下报错:

pytest-allure美化——定制化输出测试报告_第4张图片

  安装了pytest-allure-adaptor插件的定制代码像这样的:

pytest-allure美化——定制化输出测试报告_第5张图片

  我们会使用allure.MASTER_HELPER下的方法去进行定制,通过查看该插件的官网http://pypi.org/project/pytest-allure-adaptor/,发现版本不匹配,因此抛出了异常

pytest-allure美化——定制化输出测试报告_第6张图片

解决办法:

  • pytest-allure-adaptor版本过低不兼容当前版本的allure,选择不安装该插件

  • 使用allure下的方法去进行定制

三、定制化内容

使用前,先引入allure模块

import allure

1.feature——测试用例特性(主要功能模块)

  使用方法:@allure.feature()

pytest-allure美化——定制化输出测试报告_第7张图片

pytest-allure美化——定制化输出测试报告_第8张图片

pytest-allure美化——定制化输出测试报告_第9张图片

2.story——feature功能模块下的分支功能

  使用方法:@allure.story()

pytest-allure美化——定制化输出测试报告_第10张图片

pytest-allure美化——定制化输出测试报告_第11张图片

3.severity——测试用例的严重级别

Allure中对严重级别的定义:

  • blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)

  • critical级别:临界缺陷( 功能点缺失)

  • normal级别:普通缺陷(数值计算错误)

  • minor级别:次要缺陷(界面错误与UI需求不符)

  • trivial级别:轻微缺陷(必输项无提示,或者提示不规范)

使用方法:

  • @allure.severity(allure.severity_level.CRITICAL)

  • @allure.severity('critical')

pytest-allure美化——定制化输出测试报告_第12张图片

pytest-allure美化——定制化输出测试报告_第13张图片

4.step——测试用例的步骤

使用方法:

  • @allure.step()  只能以装饰器的形式放在类或者方法上面  

  • with allure.step():  可以放在测试用例方法里面,但测试步骤的代码需要被该语句包含

pytest-allure美化——定制化输出测试报告_第14张图片

pytest-allure美化——定制化输出测试报告_第15张图片

5.attach——用于向测试报告中输入一些附加的信息,通常是一些测试数据信息

使用方法:
allure.attach(body, name, attachment_type, extension)

  • body - 要写入文件的原始内容

  • name - 包含文件名的字符串

  • attachment_type - 其中一个allure.attachment_type值

  • extension - 提供的将用作创建文件的扩展名

pytest-allure美化——定制化输出测试报告_第16张图片

pytest-allure美化——定制化输出测试报告_第17张图片

6.link/issue/testcase——链接

使用方法:

  • @allure.link()

  • @allure.issue()

  • @allure.testcase()

pytest-allure美化——定制化输出测试报告_第18张图片

7.description——用例描述

使用方法:

  • @allure.description()  提供描述字符串的装饰器

  • @allure.description_html()  提供一些HTML在测试用例的描述部分

pytest-allure美化——定制化输出测试报告_第19张图片

pytest-allure美化——定制化输出测试报告_第20张图片

8.title——重命名测试用例

报告中的用例名称默认显示的是函数英文名,可以使用title重命名为中文

    @allure.title("登录成功场景-{data}")
    @pytest.mark.parametrize("data", login_success_data, ids=ids_login_success_data)
    def test_login_success(self, data):
        """测试登录成功"""
        user = input_username(data["user"])
        pwd = input_password(data["pwd"])
        result = login(user, pwd)
        assert result == data["expected"]

pytest-allure美化——定制化输出测试报告_第21张图片

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走


pytest-allure美化——定制化输出测试报告_第22张图片

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….关注下方我的微信公众号【程序员小濠】免费获取~ 

你可能感兴趣的:(软件测试,技术分享,软件测试,测试工程师,自动化测试,测试类型)