首页 > 其他分享 >在 JMeter 中使用 JSON 提取器提取特定条件下的值

在 JMeter 中使用 JSON 提取器提取特定条件下的值

时间:2023-12-14 18:46:56浏览次数:26  
标签:提取 vouSourceName vouDetails JSON vouHead JMeter

当你需要在 JMeter 中对接收到的 JSON 响应进行处理时,JSON 提取器是一个非常有用的工具。在本文中,我们将讨论如何使用 JSON 提取器来提取特定条件下的值,以满足你的需求。

问题描述

假设你收到了以下 JSON 格式的响应结果:

{
    "flag": "success",
    "data": {
        "list": [
            {
                "vouDetails": [],
                "vouHead": {
                    "accaCode": "*",
                }
            },
            {
                "vouDetails": [],
                "vouHead": {
                    "accaCode": "*",
                }
            },
            {
                "vouDetails": [],
                "vouHead": {
                    "accaCode": "*",
                }
            },
            {
                "vouDetails": [],
                "vouHead": {
                    "accaCode": "*",
                    "vouDate": "2023-12-14",
                    "vouDesc": "从工商银行提取现金",
                    "vouDetails": [],
                    "vouGroupId": "5a6b9037e6774596be73cd953042b523",
                    "vouGuid": "296cd820e1f5496084398b78c78ee8a9",
                    "vouSourceName": "出纳系统"
                }
            }
        ],
        "page": {
            "currentPage": 1,
            "hasNextPage": false,
            "hasPreviousPage": false,
            "nextPage": 0,
            "pageSize": 100,
            "previousPage": 1,
            "queryRecordSize": 5,
            "startNum": 1,
            "totalPages": 0,
            "totalRows": 4
        },
        "pageList": []
    }
}

你希望能够从上述响应中提取vouGuid的值,且仅以vouSourceName=“出纳系统"为条件来执行提取操作。

解决方案

步骤一:添加 JSON 提取器

在 JMeter 的测试计划中,找到相应的 HTTP 请求,并在该请求下添加一个 JSON 提取器。

步骤二:配置 JSON 提取器

在配置 JSON 提取器时,设置如下属性:

  • 变量名称: 输入一个变量名,例如 "cashVoucherGuid"。
  • JSON 路径表达式: 输入要提取值的 JSON 路径。在这种情况下,路径将是 "$.data.list[?(@.vouHead.vouSourceName=='出纳系统')].vouHead.vouGuid"。

步骤三:执行测试并获取结果

执行测试后,你可以使用指定的变量${cashVoucherGuid}来访问提取出的值。

通过以上配置设置 JSON 提取器,你应该能够成功地从 JSON 响应中提取vouGuid的值,其中匹配条件为vouSourceName为"出纳系统"。

使用 JMeter 的 JSON 提取器,你可以轻松地从 JSON 响应中提取特定条件下的值,实现灵活而精确的数据提取操作。

标签:提取,vouSourceName,vouDetails,JSON,vouHead,JMeter
From: https://www.cnblogs.com/n00dle/p/17901761.html

相关文章

  • C#正则表达式提取字符串中的汉字、数字
    转自:https://blog.csdn.net/m0_71654608/article/details/126541896一、提取字符串里的汉字 去掉字符串里的数字下划线1stringstr="你好_2022";2stringstr1=Regex.Replace(str,@"\d|\W|[A-Za-z]","");3Console.WriteLine(str1);输出结果:你好二、提取字符串里......
  • 实现XML与JSON转换,实测这个方法最便捷
    XML和JSON是当今最常用的两种数据格式,在数据交换和存储领域占有重要地位。XML以其树状结构和可扩展性被广泛使用,而JSON则以其轻量级和易读性受到开发者的青睐。有时候,为了更好地利用它们的优点解决数据共享、数据处理和数据存储等问题,我们需要将这两种格式进行转换。本文将介绍如......
  • React Native package.json 控制App的版本号
    原文:https://blog.csdn.net/gu1920948999/article/details/117984844package.json"version":"1.0.0",android配置android/app/build.gradleimportgroovy.json.JsonSlurper.../***获取版本号*/defgetAppVersion(){definputFile=new......
  • 浅谈 JSON 对象和 FormData 相互转换
    前言大家都知道,前端在和后台进行交互联调时,肯定避免不了要传递参数,一般情况下,params在get请求中使用,而post请求下,我们有两种常见的传参方式:JSON对象格式和formData格式,但是一些场景是需要我们对这两种数据格式进行转换的,例如表单提交,有些是JSON对象格式的数据,有些是F......
  • jmeter取样器写脚本注意事项
    一、服务器名称或者ip不能带有/线,如https://www.baidu.com,域名只能写www.baidu.com,否则网络不通,访问会失败 二、端口正常填写即可,路径只能写域名后面的路径,如http://1.1.1.1/futere/lopen-pai/register只需填写/futere/lopen-pai/register,否则有可能访问不通 三、参数项......
  • 软件测试/测试开发|Docker+Jmeter+InfluxDB+Grafana 搭建性能监控平台
    为什么要搭建性能监控平台?1.1需求背景在用Jmeter获取性能测试结果的时候,Jmeter本身带有聚合报告如下图所示:这个报告有几个很明显的缺点:只能自己看,无法实时共享;报告信息的展示比较简陋单一,不直观;1.2需求方案为了解决上述问题,必须要请出了InfluxDB+Grafana......
  • MySQL使用JSON存储数据
    1.优点1.不用为数据中的每个key值新建一个字段,可以任意的增减字段而无需修改数据表结构,甚至可以减少数据表的设计。2.可以减少数据表的查询,减少关联查询,一个查询的结果就可以代替几个查询的结果,降低数据库服务器的压力。2.缺点1、json数据仅仅只能用于展示display,如果用于条件......
  • Jmeter性能测试学习笔记
    转自https://www.cnblogs.com/yoyoma0355/p/14658807.htmljmeter定时器:https://blog.csdn.net/u013258415/article/details/78321288 性能测试的概念和公式:https://www.cnblogs.com/April-Chou-HelloWorld/p/8780384.html 压力测试:https://blog.csdn.net/weixin_52295158/a......
  • `/etc/gitlab/gitlab-secrets.json`文件丢失时Gitlab恢复办法
    当/etc/gitlab/gitlab-secrets.json文件丢失时如果您没有备份secrets文件,则必须完成几个步骤才能使GitLab重新正常工作。secrets文件负责存储包含必需的敏感信息的列的加密密钥。如果密钥丢失,GitLab将无法解密这些列,从而阻止对以下项目的访问:CI/CD变量Kubernetes/GCP集成自......
  • 01C# 从Json文件中读取配置
    目的:从Json文件中读取配置 1)创建一个json文件,设置“如果较新则复制”{"Smtp":{"Server":"yx165.com","Name":"yx","Password":"123456"},"Person":{"Name":"......