接口测试之allure报告美化

发布时间 2023-12-21 20:54:37作者: 七年!

接口测试常用到allure报告,因其显示信息种类多且兼容框架丰富,但其不同附件的的格式会导致报告内容不友好,影响阅读,本文介绍两处优化内容。

  1. 过滤报告中suite模块显示的用例信息
  2. 附件信息美化

       现状如下图红框内容:       

                   

 

问题1:

通过F12查看,左侧框选内容显示j对应case执行结果中son文件的parameters字段值(如下图),因此只需要在生成报告/执行case时将该文件中的字段值赋空即可                    

           

方法:

def find_files(path, target='result.json'):
    """
先找到报告目录下所有符合结果的文件,为下文提供路径参数
:param path: 执行结果/报告文件中所有执行结果文件(包含result.josn(本次目标文件)以及其他附件文件)
:target: 文件特征,寻找包含
"""
path_list = []
for root, dirs, files in os.walk(path):
for file in files:
file_path = os.path.join(root, file)
if target in file_path:
path_list.append(file_path)
# clear_data(file_path)
return path_list
def clear_data(dir):
    """
    报告美化,将result.json文件清除parameters字段数据
    :param dir: 报告/执行结果中的result.json文件路径
    :return:
    """
    with open(dir, 'rb') as f:
        data = json.load(f)
    data['parameters'] = []
    with open(dir, "w") as file:
        json.dump(data, file)
    file.close()
    return True

 

至此,报告美化完成,用例名称旁不在展示多余字段值,结果如下:                 

                       

 

 

问题2:附件中的内容显示样式有些是json格式,有些是纯文本格式,打开F12查看,附件为不同接口读取数据导致

                   

                  

 

   找到执行结果/报告中对应的附件数据,发现json文件现实为json格式,txt文件显示为str格式,如下图所示:

                            

               

 

   因此,我们尝试将执行结果/报告的txt文件中的格式改为json格式,用以下方法实现:

def Txt_toJson(dir):
    """
    报告美化,将附件中的txt文件内容转换成json格式
    :param dir:txt文件路径
    :return:
    """
    try:
        with open(dir, 'rb') as f:
            json_data = json.load(f)
        formatted_json = json.dumps(json_data, indent=4)
        with open(dir, 'w') as w:
            w.write(formatted_json)
        w.close()
    except:
        print("该文件不是dict格式,无法转换")
    return True

 

查看是否生效:

                      

             

 

  

至此,报告优化完成,以上两个问题均已解决,如下图: