如何定制Allure 报告的标题

在上一篇中已经写了如何取定制logo,今天就来说说如何定制好自己生成报告的标题,就是下图的两个地方
在这里插入图片描述

修改报告浏览器窗口的标题

这里的浏览器窗口标题就是打开报告后浏览器显示的名字,就是图下这个位置的地方
在这里插入图片描述

我们知道,生成Allure报告后,在本地会有三个文件夹,在html文件夹下面会有个index.html文件,打开文件就可以看到第5行有个标签,默认的title名字是”Allure Report",而所谓的定制化就是给这个地方去重新命名,也就是修改这个位置的内容<br/> <img src="https://i-blog.csdnimg.cn/direct/db239dd39792485cb7c7ad8befe65f9f.png" alt="在这里插入图片描述"/><br/> <img src="https://i-blog.csdnimg.cn/direct/69afa998fb164d6188109f087572dae0.png" alt="在这里插入图片描述"/><br/> <img src="https://i-blog.csdnimg.cn/direct/5207c87a875c4674954f07ce375c3c6a.png" alt="在这里插入图片描述"/>

首先就要先获取你本地的index.html文件地址,把他赋值给report_title_filepath, 然后读取文件的内容再循环遍历文件的每一行内容,把带有“Allure Report" 的文案全部替换成新的,也就是你自定义的标题,代码如下

# 设置报告的浏览器窗口的标题
def set_windows_title(new_title):
    """  设置打开的 Allure 报告的浏览器窗口标题文案
    @param new_title:  需要更改的标题文案 【 原文案为:Allure Report 】
    @return: 没有返回内容,调用此方法传入需要更改的文案即可修改窗体标题温拿
    """
    # report_title_filepath:这里主要是去拿到你的HTML测试报告的绝对路径【记得换成你自己的】
    report_title_filepath = r"C:\Work_File\autoPytest\allure-report\html\index.html"
    # 定义为只读模型,并定义名称为: f
    with open(report_title_filepath, 'r+', encoding="utf-8") as f:
        # 读取当前文件的所有内容
        all_the_lines = f.readlines()
        f.seek(0)
        print(f.seek(0))
        f.truncate()
        print(f.truncate())
        # 循环遍历每一行的内容,将 "Allure Report" 全部替换为 → new_title(新文案)
        for line in all_the_lines:
            f.write(line.replace("Allure Report", new_title))
        # 关闭文件
        f.close()

测试下调用函数查看结果

set_windows_title("Report")

可以看到原来index.html文件的的”Allure Report" 替换成了”Report"
在这里插入图片描述
打开报告也可以看到标题也变了
在这里插入图片描述

修改报告里面的标题

先找到html—>widgets—>summary.json文件,其中summary.json文件的reportName就是这个报告的标题,默认就是Allure Report, 我们要改就是改这个字段的名字就OK
在这里插入图片描述
在这里插入图片描述
首先就是先获取这个文件的路径,赋值给title_filepath

title_filepath = r"C:\***\allure-report\html\widgets\summary.json"

然后写个方法获取summary.json的内容,需要先导入json模块

import json

在这里插入图片描述
把新的数据重新写入到summary.json文件中
在这里插入图片描述
这样就可以自定义修改了标题啦,可以直接运行下这个代码,可以看到summary.json的值变了
在这里插入图片描述
在这里插入图片描述
重新打开html报告文件就可以看到标题已经变成你修改后的样子
在这里插入图片描述

附上源码:

import json


class SetReportTittle:
    def __init__(self, name):
        self.title_filepath = r"C:\Work_File\autoPytest\allure-report\html\widgets\summary.json"
        self.name = name
        self.dict_data = self.get_json_data()

    def get_json_data(self):
        with open(self.title_filepath, 'rb') as f:
            # 加载json文件中的内容给params
            params = json.load(f)
            # 修改内容
            params['reportName'] = self.name
            # 将修改后的内容保存在dict中
            new_data = params
        # 关闭json读模式
        f.close()
        # 返回dict字典内容
        return new_data

    def write_json_data(self):
        # 定义为写模式,名称定义为r
        with open(self.title_filepath, 'w', encoding="utf-8") as r:
            # 将dict写入名称为r的文件中
            json.dump(self.dict_data, r, ensure_ascii=False, indent=4)
        # 关闭json写模式
        r.close()


if __name__ == '__main__':
    SetReportTittle("API Auto test report").write_json_data()

如果你想生成报告后立即就更改这个标题那就在生成报告后面直接多添加两行代码就可以了
在这里插入图片描述

本文先更新到这,要是对你也有帮助可以点赞评论哦~~

WDA是一个用于iOS端自动化测试的Python库,而allure是一个用于生成漂亮报告的工具。要将WDA测试结果集成到allure报告中,可以使用pytest和allure-pytest插件来实现。 首先需要安装pytest和allure-pytest插件,可以使用以下命令进行安装: ``` pip install pytest pip install allure-pytest ``` 安装完成后,在pytest的测试用例中,可以使用pytest的fixture和allure的装饰器来将WDA测试结果保存到allure报告中。下面是一个示例: ```python import wda import allure import pytest @pytest.fixture(scope='module') def client(): c = wda.Client() return c @allure.feature('WDA测试') class TestWDA(object): @allure.story('测试页面标题') def test_title(self, client): title = client.title() assert title == 'Example Page' allure.attach(client.screenshot(format='png'), name='screenshot', attachment_type=allure.attachment_type.PNG) @allure.story('测试按钮点击') def test_button(self, client): btn = client(name='example_button') btn.tap() assert btn.exists allure.attach(client.screenshot(format='png'), name='screenshot', attachment_type=allure.attachment_type.PNG) ``` 在上面的示例中,使用了一个名为`client`的fixture来获取WDA的客户端连接,然后使用`allure.feature`和`allure.story`装饰器来定义测试用例的特性和故事。在每个测试用例中,使用了`allure.attach`方法将截图保存到allure报告中。 最后,可以使用以下命令来运行测试,并生成allure报告: ``` pytest --alluredir ./allure-results allure serve ./allure-results ``` 这样就可以将WDA测试结果集成到allure报告中,并且在报告中查看测试结果和截图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值