• 自动化测试框架Pytest(三)——自定义allure测试报告


    pytest测试完成后,可以通过三方库生成好看的测试报告。今天就来学习一款allure测试报告。

    一、安装allure-pytest

    1、下载,解压,配置path路径。
    https://github.com/allure-framework/allure2/releases

    将安装文件的bin目录安装到环境变量path里

    D:\Program Files (x86)\allure-2.13.2\bin

    验证是否安装成功:

    allure --version

    如果pycharm验证失败,重启pycharm即可。

    2、配置里添加生成测试报告的地址

    [pytest]addopts = -vs --alluredir ./temptestpaths = ./testcasepython_files = test_04.pypython_classes = Test*python_functions = testmarkers =    smoke:冒烟用例    usermanage:用户管理模块    www:测试

    3、修改main函数

    import os
    import pytest
    if __name__ == '__main__':    pytest.main()    os.system('allure generate ./temp -o ./report --clean')

    4、直接执行main函数,生成报告

    5、每次生成报告不替换之前的,修改main函数

    import osimport time
    import pytest
    if __name__ == '__main__':    pytest.main()    # 添加时间    times = time.strftime("%Y_%m_%d_%H_%M_%S",time.localtime())    os.system('allure generate ./temp -o ./report/report_'+times+' --clean')
    

    正在上传…重新上传取消

    二、定制allure报告

    修改allure配置。首先打开安装目录,我是安装在

    D:\Program Files (x86)\allure-2.13.2

    里面有4个目录:

    bin:执行文件

    config:配置文件

    lib:jar包

    plugins:插件

    1、logo定制

    a修改config/allure.yaml,加入自定义logo

    - custom-logo-plugin

    b修改的图片和样式

    D:\Program Files (x86)\allure-2.13.2\plugins\custom-logo-plugin\static
    /*.side-nav__brand {  background: url('custom-logo.svg') no-repeat left center !important;  margin-left: 10px;}*/
    .side-nav__brand {  background: url('qq.png') no-repeat left center !important;  margin-left: 10px;  height: 90px;}

    2、功能定制

    在类上面添加项目名、模块名、标题

    import allure
    @allure.epic("项目1")@allure.feature("模块1")class Test04:
        @allure.story("用例1")    @allure.title("成功的用例")    def test_01(self,wufantest):        print('测试百里守约'+wufantest)
        @allure.story("用例1")    @allure.title("失败的用例")    def test_02(self):        print('测试娜可露露')
        @allure.story("用例2")    @allure.title("失败的用例")    def test_03(self):        print('测试蔡文姬')
    可以看到测试报告里的用例已经自动分类
    

    3、我们还可以通过以下标签来自定义用例的优先级

    • BLOCKER:致命bug

    • CRITICAL:严重bug

    • NORMAL:一般

    • MINOR:提示

    • TRIVIAL:轻微bug

    @allure.severity(allure.severity_level.BLOCKER)    def test_01(self,wufantest):        print('测试百里守约'+wufantest)

    优先级展示如下图所示:


    学习资源分享

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

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

    如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入下方我的qq群大家一起讨论交流,里面也有各种软件测试资料和技术交流。

  • 相关阅读:
    redis中怎么用分布式token
    CPU GPU TPU NPU 的一些概念 和 使用
    响应体和状态码
    4种方法解除ZIP压缩文件的密码保护
    【微信小程序开发】微信小程序、大前端之flex布局方式详细解析
    postgresSQL 数据库本地创建表空间读取本地备份SQL文件
    Linux环境安装开发grafana插件(一)试水
    QT常用的控件总结
    因学校要求寻找数据库
    Python:控制台输入密码passwod的方法
  • 原文地址:https://blog.csdn.net/m0_58026506/article/details/126250550