allure之修改窗口标题与报告标题

引言

在生成allure测试报告之后,总觉得报告的窗口标题和Overview报告标题怪怪的,需要修改!修改后的效果图如下:

于是就开始动手吧~

1、修改窗口title

思路:修改窗口标题,最直接的方法就是修改查看报告的入口--index.html了!修改<title></title>标签即可,于是就可以使用open方法进行操作。

代码如下:

# 修改报告的窗口标题
def rename_window_title(window_title):
    # 读取html文件
    with open('./report-html/index.html', 'r+', encoding='utf-8') as f:
        # 先保存html的内容
        lines = f.readlines()
        # 定义下标变量,方便后边的数据更替
        i = -1
        for line in lines:
            i = i + 1
            # 寻找html页面的title标签
            if '<title>' in line:
                # 定义原始标题变量
                old_title = ''
                # html里的title标签之前有4个空格,所以从下标为11处截取
                for s in line[11:]:
                    # 若字符为<则退出循环
                    if s == '<':
                        break
                    # 原始标题-拨云见日
                    old_title += s
                # 正式替换标题
                lines[i] = line.replace(old_title, window_title)
                # 修改标题后的html内容
                new_lines = lines
                print('修改后的html内容:', new_lines)
        # 指针放在文件开始的地方
        f.seek(0)
        # 清空原来的html文件内容
        f.truncate()
        # 将修改标题后的内容重新写入html文件
        for new_line in new_lines:
            f.write(new_line)

2、修改Overview标题

思路:首先要知道改哪里,从其他道友那里得知,修改这块的标题,只需要修改下图中的summary.json文件的reportName字段值即可。

代码如下:

import json

# 修改报告的Overview标题
def rename_overview_title(overview_title):
    with open('./report-html/widgets/summary.json', 'r+', encoding='utf-8') as f:
        # 读取文件
        params = json.load(f)
        # 修改新标题
        params['reportName'] = overview_title
        # 修改后的json数据
        new_params = params
    with open('./report-html/widgets/summary.json', 'w+', encoding='utf-8') as f:
        """
        目的: 覆盖原始json文件
        参数概要: ensure_ascii=False,设置后写入json的中文以明文方式显示,否则会以ascall码显示
        """
        json.dump(new_params, f, ensure_ascii=False)

3、调用函数实现标题的修改

import json


# 修改报告的窗口标题
def rename_window_title(window_title):
    # 读取html文件
    with open('./report-html/index.html', 'r+', encoding='utf-8') as f:
        # 先保存html的内容
        lines = f.readlines()
        # 定义下标变量,方便后边的数据更替
        i = -1
        for line in lines:
            i = i + 1
            # 寻找html页面的title标签
            if '<title>' in line:
                # 定义原始标题变量
                old_title = ''
                # html里的title标签之前有4个空格,所以从下标为11处截取
                for s in line[11:]:
                    # 若字符为<则退出循环
                    if s == '<':
                        break
                    # 原始标题-拨云见日
                    old_title += s
                # 正式替换标题
                lines[i] = line.replace(old_title, window_title)
                # 修改标题后的html内容
                new_lines = lines
                print('修改后的html内容:', new_lines)
        # 指针放在文件开始的地方
        f.seek(0)
        # 清空原来的html文件内容
        f.truncate()
        # 将修改标题后的内容重新写入html文件
        for new_line in new_lines:
            f.write(new_line)


# 修改报告的Overview标题
def rename_overview_title(overview_title):
    with open('./report-html/widgets/summary.json', 'r+', encoding='utf-8') as f:
        # 读取文件
        params = json.load(f)
        # 修改新标题
        params['reportName'] = overview_title
        # 修改后的json数据
        new_params = params
    with open('./report-html/widgets/summary.json', 'w+', encoding='utf-8') as f:
        """
        目的: 覆盖原始json文件
        参数概要: ensure_ascii=False,设置后写入json的中文以明文方式显示,否则会以ascall码显示
        """
        json.dump(new_params, f, ensure_ascii=False)


if __name__ == '__main__':
    # 修改报告的窗口标题
    rename_window_title('UI自动化初级测试')
    # 修改报告的Overview标题
    rename_report_title('测试训练系统-UI测试报告')
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值