修改Allure报告窗口标题,Overview的标题文案,环境配置,左上角LOGO

news2024/11/25 4:49:31

前言

如下图所示:
在这里插入图片描述

一、修改Allure报告窗口标题

Allure-html测试报告的窗口标题保存在:allure-html目录下的index.html文件
在这里插入图片描述
写个 set_windows_title 方法,并在 run.py 的执行文件去调用即可修改( 在html报告生成后)。

 # 设置报告窗口的标题
    def set_windows_title(allure_html_path, new_title):
        """
        通过修改allure-html目录下的index.html文件,设置打开的 Allure 报告的浏览器窗口标题文案
        @param allure_html_path: allure生成的html测试报告根目录
        @param new_title:  需要更改的标题文案 【 原文案为:Allure Report 】
        @return:
        """
        report_title_filepath = os.path.join(allure_html_path, "index.html")
        # 定义为只读模型,并定义名称为: f
        with open(report_title_filepath, 'r+', encoding="utf-8") as f:
            # 读取当前文件的所有内容
            all_the_lines = f.readlines()
            f.seek(0)
            f.truncate()
            # 循环遍历每一行的内容,将 "Allure Report" 全部替换为 → new_title(新文案)
            for line in all_the_lines:
                f.write(line.replace("Allure Report", new_title))
            # 关闭文件
            f.close()

二、修改Overview的标题文案

Allure-html测试报告的窗口标题保存在:allure-html目录下的widgets/summary.json文件。
在这里插入图片描述

写个 set_report_name 方法,并在 run.py 的执行文件去调用即可修改( 在html报告生成后)。

 def set_report_name(allure_html_path, new_name):
        """
        通过修改allure-html目录下的widgets/summary.json, 修改Allure报告Overview的标题文案
        @param allure_html_path: allure生成的html测试报告根目录
        @param new_name:  需要更改的标题文案 【 原文案为:ALLURE REPORT 】
        @return:
        """
        title_filepath = os.path.join(allure_html_path, "widgets", "summary.json")
        # 读取summary.json中的json数据,并改写reportName
        with open(title_filepath, 'rb') as f:
            # 加载json文件中的内容给params
            params = json.load(f)
            # 修改内容
            params['reportName'] = new_name
            # 将修改后的内容保存在dict中
            new_params = params
        # 往summary.json中,覆盖写入新的json数据
        with open(title_filepath, 'w', encoding="utf-8") as f:
            json.dump(new_params, f, ensure_ascii=False, indent=4)

三、修改环境配置

方法一、修改allure-results测试结果集

这个方法有一个弊端,就是不支持中文。
步骤1: 在在allure-results测试结果集目录下新增一个文件:environment.properties
步骤2:往environment.properties中写入环境配置信息,格式如下:

# environment.properties
project=test
tester=flora

具体方法封装如下, 在 run.py 的执行文件去调用即可修改( 在测试结果集生成后)。

    def set_report_env_on_results(allure_results_path, env_info):
        """
        在allure-results报告的根目录下生成一个写入了环境信息的文件:environment.properties(注意:不能放置中文,否则会出现乱码)
        @param allure_results_path:  allure-results测试结果集根目录
        @param env_info:  需要写入的环境信息
        @return:
        """

        with open(os.path.join(allure_results_path, "environment.properties"), 'w', encoding="utf-8") as f:
            for k, v in env_info.items():
                f.write('{}={}\n'.format(k, v))

方法二:修改allure-html测试报告

这个方法是直接修改allure-html测试报告的widgets/environment.json文件,优点是:支持中文渲染。
environment.json文件中的配置信息,需要符合如下格式:

[{"values":["Auto Test Report"],"name":"report_title"},{"values":["autotestreport_"]]

在这里插入图片描述

具体方法封装如下,在 run.py 的执行文件去调用即可修改( 在html报告生成后)。

      def set_report_env_on_html(allure_html_path, env_info: dict):
        """
         在allure-html报告中往widgets/environment.json中写入环境信息,
            格式参考如下:[{"values":["Auto Test Report"],"name":"report_title"},{"values":["autotestreport_"]]
        """
        envs = []
        for k, v in env_info.items():
            envs.append({
                "name": k,
                "values": [v]
            })
        with open(os.path.join(allure_html_path, "widgets", "environment.json"), 'w', encoding="utf-8") as f:
            json.dump(envs, f, ensure_ascii=False, indent=4)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/555193.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

研报精选230522

目录 【行业230522东亚前海证券】新能源行业深度报告:政策东风与海外需求共振,充电桩迎新一轮增长周期 【行业230522西南证券】人工智能专题研究:AIGC投资框架 【行业230522国信证券】传媒互联网行业周报:OpenAI推出移动版及网页端…

文献笔记——A brief introduction to distributed systems(分布式系统)

本文主要讨论了分布式系统。作者提供了关于分布式系统的概述,是一份很好的新手教程。 Fig.1 大纲 在论文的第一部分,作者简要回顾了计算机的演变,指出了分布式系统的两个技术基础:性能强大的微处理器的发展和高速计算机网络的发明…

OpenCV:CMake 产生 VS2019 项目和解决方案

CMake 是一个跨平台的自动化编译程序,它用于管理代码的构建过程。使用 CMake 可以简化跨平台项目的构建和移植,提供简单而强大的语法来描述构建过程,并生成多种不同的构建系统,如 GNU Make、Ninja 和 Visual Studio。因为 CMake 具…

8年测试总结,性能测试问题大全,这些问题你应该认清的...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 响应时间VS吞吐量…

18-02 数据库设计核心要点

概念结构设计 通过对用户需求进行综合、归纳和抽象,形成独立于具体数据库管理系统的概念模型把需求分析阶段得到的应用需求,抽象成概念模型连接现实世界和信息世界的桥梁好的概念结构设计 能真实、充分的反映现实世界要易于理解要易于修改 基本概念 …

kubeadm部署k8s 1.26.0版本高可用集群

1.前言 本次搭建使用centos7.9系统,并且使用haproxykeepalived作为高可用架构软件,haproxy实现k8s集群管理节点apiserver服务的负载均衡以实现集群的高可用功能,keepalived保障了hapxoy的高可用,容器引擎使用docker,需…

迁移iceberg:一.查看所需要的资源。

一:内存,CPU,核数,线程,硬盘。 1. cpu,核素,线程。 cpu cpu就相当于人类的大脑,是处理数据的地方。 cpu由以下三个组成。 控制器。由控制单元、指令译码器、指令寄存器组成。运算…

戴尔 dell Inspiron3670电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔) 硬件型号驱动情况 主板B360 处理器i5-9400已驱动 内存8GB已驱动 硬盘KBG40ZNS256G NVMe KIOXIA 256GB ST1000DM010 1TB已驱动 显卡UHD630(1.05GHZ)已驱动 声卡Realte…

Node模拟慢接口

为了快速搭建一个后台服务,并模拟慢接口,我们选择 Koa 这个轻量的 Node 框架。 快速开始 Koa 使用起来非常方便,只需要: 新建项目文件夹:mkdir koa-server创建 package.json:npm init -y安装 Koa&#x…

夏季门店做好这3点,销量翻一番!

现在正值5月末,天气开始炎热起来。在酷热的夏日,很多人都只想呆在家里吹空调刷手机,外出消费的人数开始变少。 面对越来越炎热的天气,我们这些做实体店生意的该如何应对呢?想要在夏季客流不减反增,销量翻倍…

【高分论文密码】大尺度空间模拟预测和数字制图技术和不确定性分析

目录 专题一 R语言空间数据介绍及数据挖掘关键技术 专题二 R语言空间数据高级处理技术 专题三 R语言多维时空数据处理技术、数据清洗整合和时间序列分析 专题四 R语言地统计与空间自相关、空间插值方法 专题五 R语言机器学习与空间模型预测及不确定性评估 专题六 R语言空…

【DRF配置管理】如何使用序列化:验证码、注册和登录

原文作者:我辈李想 版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。 DRF应用和管理 【DRF配置管理】Django安装DRF框架并生成openapi风格文档 【DRF配置管理】如何实现JWT身份验证 【DRF配置管理】如何使用序列化:验证码…

如何设计正确的SpringBoot接口访问频率?

最近在基于SpringBoot做一个面向普通用户的系统,为了保证系统的稳定性,防止被恶意攻击,我想控制用户访问每个接口的频率。为了实现这个功能,可以设计一个annotation,然后借助AOP在调用方法之前检查当前ip的访问频率&am…

SpringBoot——对于属性中的时间和文件的单位进行设置

简单介绍: 在之前我们编写配置文件的时候,有时候多种技术的配置的属性值的默认属性的单位不同,比如在Tomcat中,对于最大连接时间就是以毫秒为单位,但是对于session的过期时间就是以分钟为单位,像这种单位不…

java线程池ThreadPoolExecutor使用

文章目录 一、简介1. 背景2. Executor接口介绍 二、使用Executors工厂创建线程池1. 简介2. 使用newCachedThreadPool()方法创建无界线程池3. 验证newCachedThreadPool()方法创建的线程池和线程复用特性4. 使用newCachedThreadPool(ThreadFactory)定制线程工厂5. 使用newCachedT…

怎么把音乐的伴奏提取出来?分享几个音乐伴奏提取的方法!

在这个数字时代,人人都有机会成为视频创作者。如果你也想发布自己剪辑的短视频,就需要了解视频编辑的相关操作。其中一个重要的操作是提取人声,将音频中人物的声音从杂音中分离出来,使声音更加清晰。那么,如何从音频中…

GPT时代,最令人担心的其实是“塔斯马尼亚效应”

目录 教育到底教什么? 过度依赖GPT可能导致文明退化 GPT可以帮助人类破解“学海无涯极限”悖论 春季学期伊始,全球各地的老师们如临大敌,因为学生们带着ChatGPT杀过来了。Study.com的调研显示,每10个学生中就有超过9个知道Chat…

基于FPGA的超声波测距——数码管显示

文章目录 前言一、超声波模块介绍1、产品特点2、超声波模块的时序图 二、系统设计1、系统框图2、源码3、RTL视图4、效果 三、总结四、参考资料 前言 环境: 1、Quartus18.1 2、vscode 3、板子型号:EP4CE6F17C8N 4、超声波模块:HC_SR04 要求&am…

【持续集成CI/持续部署CD】二、Docker安装Maven私服Nexus

本文是关于通过 Docker 进行安装部署 Nexus3 私服的快速入门和简单使用案例。 一、安装 1. 通过 docker 获取最新版本的 nexus3 镜像 docker pull sonatype/nexus3创建 docker 镜像到宿主机的磁盘映射目录Linux:mkdir -p /home/nexus/datachmod 777 -R /home/nexus/dataWind…

ThingsBoard的Actor系统如何初始化

1、概述 大家都知道ThingsBoard中使用了Actor,使用这个可以避免多线程并发问题,上一篇我查询资料总结了一下关于Actor的内容,actor不是通过new 一个对象来创建,而是通过一个ActorSystem来创建,下面我将带领大家来学习ThingsBoard启动时Actor如何创建。 2、ThingsBoard的…