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

前言

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

一、修改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)
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值