接口测试常用到allure报告,因其显示信息种类多且兼容框架丰富,但其不同附件的的格式会导致报告内容不友好,影响阅读,本文介绍两处优化内容。
- 过滤报告中suite模块显示的用例信息
- 附件信息美化
现状如下图红框内容:
问题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
查看是否生效:
至此,报告优化完成,以上两个问题均已解决,如下图:
标签:文件,接口,json,allure,dir,file,path,data,美化 From: https://www.cnblogs.com/qinian1/p/17919234.html