首页 > 其他分享 >MeterSphere 接口自动化 CSV 整合 JSON 文件

MeterSphere 接口自动化 CSV 整合 JSON 文件

时间:2023-01-18 17:32:26浏览次数:65  
标签:opt 文件 json JSON file MeterSphere CSV

在 ToB 系统的业务场景中,经常有厂家需要将原始 JSON 数据,用于请求体传参,或者响应体对比等业务场景。对应 Metersphere 中接口自动化,CSV 数据驱动数据包含 JSON 结构内容,用于接口测试时,请求体引用和响应体对比。

     测试步骤分析:1、创建场景,导入包含 JSON 数据的 CSV(包含 header 和若干行预期结果)

 2、获取JSON数据后,正常引用变量测试或断言

     注: 如果 JSON 数据非独立存在文件 JSON 数据量较大,不方便结构化到 CSV 文件时,建议 CSV文件中 json_file 一栏可填写为文件名称,然后通过脚本解析得到 JSON 文件内容

            如果 JSON 数据 JSON 数据量较小,方便结构化到 CSV 文件时,建议直接将 JSON 数据放到 CSV 中对应位置

     举例使用场景:通过CSV批量设置多笔报文的输出结果,然后读入多笔报文去调 API,之后通过断言来比对每笔报文的预期和实际结果,实现批量比对的功能

1、JSON 数据量较小,方便结构化到 CSV 文件时,直接将 JSON 数据放到 CSV 中对应位置,后引用使用

MeterSphere 接口自动化 CSV 整合 JSON 文件_CSV

导入 CSV 到场景变量中,设置是否允许带引号为 True

MeterSphere 接口自动化 CSV 整合 JSON 文件_数据_02

MeterSphere 接口自动化 CSV 整合 JSON 文件_数据_03

请求体引用 JSON 数据,进行接口请求

MeterSphere 接口自动化 CSV 整合 JSON 文件_数据_04


2、JSON 数据非独立存在文件 JSON 数据量较大,不方便结构化到 CSV 文件时,CSV 文件中 json_file 一栏可填写为文件名称,然后通过脚本解析得到 JSON 文件内容

可在 CSV 文件中添加一列,指定该条数据要读取的 JSON 文件

MeterSphere 接口自动化 CSV 整合 JSON 文件_数据_05

 将 JSON 文件上传到服务器 /opt/metersphere/data/json 目录下

MeterSphere 接口自动化 CSV 整合 JSON 文件_JSON_06

可在请求的前置脚本中写入读取 JSON 文件的 Python 脚本,并将读取到的内容存储为 body

MeterSphere 接口自动化 CSV 整合 JSON 文件_JSON_07

在请求体里可直接引用 ${body} 即可

MeterSphere 接口自动化 CSV 整合 JSON 文件_数据_08

点击运行正常发出请求,在请求内容处能看到发送的参数为 JSON 文件内容。

MeterSphere 接口自动化 CSV 整合 JSON 文件_JSON_09

MeterSphere 接口自动化 CSV 整合 JSON 文件_CSV_10


*******Python 读取 JSON 文件代码如下*********

import sys

import io

#注意:此路径容器内部的映射路径,为固定值

sys.path.append("/opt/metersphere/data/python/lib/python2.7/site-packages")file = "/opt/metersphere/data/json/{}".format("${json_file}")

​log.info​​("===111==="+file);with io.open(file,'r',encoding='utf-8') as f:

    body = f.read()

vars.put("body",body);

******Beanshell 读取 JSON 文件代码参考如下*********

 String fileName = "/opt/metersphere/data/json/15.json";     

 BufferedReader buffer = new BufferedReader(new FileReader(fileName));     

 long length = 0;     

 String lines ="";     

 String line = "";     

 while ((line = buffer.readLine()) != null) {         

     length += 1;         

     lines+=line + "\n";     

     

 }     

 ​​log.info​​("打印文件行数"+length);     

 ​​log.info​​("打印文件内容"+lines);

读取 JSON文件最快的方式是使用 JMeter 函数 FileToString,用法为 ${__FileToString(/opt/metersphere/data/json/15.json,,)}

函数使用示例见下图:

MeterSphere 接口自动化 CSV 整合 JSON 文件_数据_11

标签:opt,文件,json,JSON,file,MeterSphere,CSV
From: https://blog.51cto.com/u_15922911/6019333

相关文章

  • MeterSphere 数据库提取参数和断言
    1数据库提取参数1.1参数说明数据库的查询接口存储分为“按存储结果”和“按列存储”。按存储结果,会将所有的查询结果按照对象的模式进行存储至变量中。按列存储:直接指定取......
  • MeterSphere 之 IDEA 接口同步插件
    1安装插件1.1、插件安装有两种方式在线安装:直接在idea->Settings->plugins->Marketplace搜索MeterSphere在线安装离线安装:下载安装包,idea->Settings->plugins......
  • c++生成csv文件并在python界面可视化
    前景概要为什么生成的是csv文件而不是txt文件因为txt在python那边处理起来比较麻烦需要两组数而数与数之间存在对应关系这样两组数同样需要两组就是两组xy数值然后......
  • DataFrame - to_csv()函数乱码
    https://blog.csdn.net/weixin_39559994/article/details/125297263https://blog.csdn.net/qq_40258748/article/details/96306878......
  • MeterSphere 接口测试深度数据驱动使用来喽
       众所周知,MeterSphere接口自动化中,用户可以添加CSV文件可以做数据驱动测试,不熟悉的小伙伴点这里​​【接口自动化做数据驱动(ddt)测试】​​。除了CSV文件以外,日常......
  • 怎样让json格式文本以JSON格式化
    在Linux命令行中格式化输出json原创 TIAP TIAP 2022-12-3007:35 发表于山东收录于合集#Linux158个TIAP技术分享,经验交流,职业生涯探讨。120篇原创......
  • json工具包
    CREATEORREPLACEPACKAGEBODYcux_json_utilISPROCEDUREcreate_clob(clob_locINOUTNOCOPYCLOB)ISBEGINdbms_lob.createtemporary(lob_loc=>clob_loc,......
  • MeterSphere Mock 使用
    1MOCK功能MeterSphere提供的Mock功能可以根据用户输入的请求参数、返回数据生成Mock接口,这些接口会自动生成模拟数据,以覆盖用户的一些测试需求。而Mock期望则是根据设置的......
  • MeterSphere 的 UI 自动化如何实现文件上传的场景
    实际项目中,文件/图片上传的场景较多。本文以百度上传图片进行搜索为例。场景:在百度搜索框中,上传图片进行搜索场景步骤:打开网页,访问 ​​https://www.baidu.com​​ 网......
  • 8.Requests【接口请求】POST请求的json格式请求体传参
    一、前言我们上节课已经学习了Content-Type:application/x-www-form-urlencoded时的传参方式,可以用data来传参。还有一种常见的接口数据传输类型,application/json格式,顾......