首页 > 其他分享 >接口测试之allure报告美化

接口测试之allure报告美化

时间:2023-12-21 20:55:20浏览次数:38  
标签:文件 接口 json allure dir file path data 美化

接口测试常用到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

 

查看是否生效:

                      

             

 

  

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

             

 

 

 

 

 

 

        

标签:文件,接口,json,allure,dir,file,path,data,美化
From: https://www.cnblogs.com/qinian1/p/17919234.html

相关文章

  • http调用接口
    importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.net.HttpURLConnection;importjava.net.URL;publicstaticStringget(Stringurl,Stringcookie)throwsIOException{HttpURLConnectionconnection=(H......
  • ICEE-Interface-SATA的数据与电源接口
    **SATA数据接口(7pins)SATA电源接口(15pins4Sections:+12V,+5V,+3.3V,GND)**Sata实物:......
  • 河南南阳医专部署接口
    ///w##class(PISService.API.DHCPISReport).GetReportInfoByAdmNoToEMR("145111")///Desc:2023-02-10yangshun标板提供的获取病历报告的方法///Debug:w##class(DHCEPRFS.BL.HISInfo.BLPISInfo).GetPISPDFPath("145111")ClassMethodGetPISPDFPath(AEpisodeI......
  • 鸿蒙原生应用/元服务开发-Stage模型能力接口(九)上
    @ohos.app.ability.UIAbility(UIAbility)一、说明UIAbility是包含UI界面的应用组件,提供组件创建、销毁、前后台切换等生命周期回调,同时也具备组件协同的能力,组件协同主要提供如下常用功能。Caller,由startAbilityByCall接口返回,CallerAbility(调用者)可使用Caller与CalleeAbility(......
  • 09 信息打点-CDN 绕过篇&漏洞回链&接口探针&全网扫描&反向邮件
    一、知识点1.1CDN知识-工作原理及阻碍1.1.1CND概念CDN的全称是ContentDeliveryNetwork,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一......
  • 【业务安全实战演练】业务接口调用模块测试9
    业务接口调用模块1,接口调用重放测试测试方法:接口调用重放测试可以理解成重放测试,接口也就是数据请求,功能很多,例如发布文章,发布评论,下订单,也可以理解成只要请求有新的数据生成,能重复请求并成功,都可以算请求重放,也就是接口重放测试。修复方法:对生成订单缓解可以使用验证码,防止生......
  • 解决先异步调用一个接口,再根据返回值继续循环异步,然后再同步的场景.then的连续调用
    场景描述:人员select下拉框为分页只查20个数据下拉(真实数据可能下拉有大几千),但是编辑页进来的id不在这20个数据下拉之内,所以显示的就是id值数组(因为是多选下拉框)解决:编辑回显方法内写getUserSecList(data.collaboratorVoList);然后先调人员20个下拉,调完后,根据传参的编辑i......
  • API接口防刷的9种方案
    防火墙:配置防火墙规则,限制对API接口的访问频率和来源IP,防止大量无效请求。验证码:在需要保护的接口中添加验证码验证,要求用户在访问前先进行验证码验证,以确认其为真实用户。IP限制:限制对API接口的访问仅限于特定IP范围,例如只允许内网或特定合作伙伴的IP访问。接口访问频......
  • 使用Postman测试需要授权的接口问题
    Postman是一款免费的http模拟请求工具,常用来测试开发接口。实际场景中,很多接口是需要授权才能使用。这就需要Postman获取授权,把返回的token保存,在调用其他接口时连同token一起传递。我所在的项目基于spring全家桶,正常流程是:调用获取验证码接口->登录接口->调用业务接口。新建......
  • Jmeter HTTPS接口测试证书导入过程图解
    python中没有swich..case,若要实现一样的功能,又不想用if..elif来实现,可以充分利用字典进行实现主要是想要通过不同的key调用不同的方法,在学习过程中,发现不管输入的key是什么,只要字典中存在输出内容,每次都会输出,这跟自己需要的功能有出入。通过调试后,发现问题主要出现在key值对应的va......