深入理解JMeter中的JSON Extractor

Apache JMeter是一款出色的开源性能和功能测试工具,这款工具提供了丰富的功能和强大的扩展性,可以应对各种复杂的测试需求。当我们在进行接口测试时,经常会遇到需要从接口响应中提取信息并在后续请求中使用的情况。这时候,JMeter中的JSON Extractor就派上了用场。

JSON Extractor是JMeter中的一个Post Processor组件,它可以根据JSON Path表达式从HTTP请求的响应结果中提取需要的信息。接下来,我们将通过一个具体的例子,详细介绍如何使用JSON Extractor。

假设我们的HTTP请求返回了如下的JSON数据:

{"dataDetail": [{"role_id": 1,"role_code": "132001","role_name": "Administrator"},{"role_id": 2,"role_code": "132002","role_name": "User"}]
}

我们的任务是提取role_code为"132002"的对象的role_id。首先,在对应的HTTP请求下添加一个JSON Extractor,配置如下:

  • Names of created variables:命名提取字段的变量名。在这个例子中,我们输入my_role_id

  • JSON Path Expressions:输入对应的JSON Path表达式。在这个例子中,我们输入$.dataDetail[?(@.role_code=="132002")].role_id

  • Match No:输入匹配数字。在这个例子中,我们只关心第一个匹配的结果,因此输入1

  • Default Values:输入默认值。在这个例子中,我们可以输入NOT_FOUND作为默认值。

下面是具体的配置:

Names of created variables: my_role_id
JSON Path Expressions: $.dataDetail[?(@.role_code=="132002")].role_id
Match No: 1
Default Values: NOT_FOUND

配置完成后,JSON Extractor会在HTTP请求的响应结果中查找符合JSON Path表达式的值,并将找到的值保存在我们指定的变量中。在这个例子中,如果role_code为"132002"的对象存在,那么my_role_id就会保存这个对象的role_id;如果不存在,那么my_role_id的值就会是我们指定的默认值NOT_FOUND

最后,在后续的请求中,我们就可以通过${my_role_id}的形式来使用这个提取出来的role_id了。

总的来说,JMeter的JSON Extractor是一款极其强大的工具,只要我们正确地使用,就能轻松地从复杂的JSON响应中提取我们需要的信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/143106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

arf_1解题

arf_1解题 镜像环境 version: 3.2services:web:image: registry.cn-hangzhou.aliyuncs.com/n1book/web-file-read-1:latestports:- 80:80新建yml文件将代码保存在当前位置 使用docker-compost up -d 拉取镜像 解题 访问该镜像映射端口为1520 可以看到页面只有一个holle但…

java Concurrent 线程安全的集合类

ConcurrentHashMap:是一个线程安全的哈希表实现,它支持高并发的读写操作。它采用了分段锁的机制,将整个哈希表分成多个段,每个段都有一个独立的锁,不同的线程可以同时访问不同的段,从而提高并发性能。 Con…

【Python】一文带你掌握数据容器之集合,字典

目录: 一、集合 思考:我们目前接触到了列表、元组、字符串三个数据容器了。基本满足大多数的使用场景为何又需要学习新的集合类型呢? 通过特性来分析: (1)列表可修改、支持重复元素且有序 (2)元组、字符…

DAY52 300.最长递增子序列 + 674. 最长连续递增序列 + 718. 最长重复子数组

300.最长递增子序列 题目要求:给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 […

Home Assistant使用ios主题更换背景

Home Assistant使用ios主题、更换背景 lovelace-ios-dark-mode-theme 默认前置情况,1、已安转HACS插件2、搜索安装 IOS Dark Mode Theme1)第一、二步应该很容易实现,configuration.yaml文件很容易被找到2)而本人在进行第三步操作时…

python_定时任务自动匹配数据II

从配置文件读取配置参数,并每天定时执行日常任务、每周一定时执行周任务,匹配符合要求的org数据,文件查找-复制-合并-裁剪。 import os import re import shutil import threading import datetime import timeimport schedule# 全局变量&am…

php+vue3实现点选验证码

buildadmin 中的点选验证码实现 验证码类 <?phpnamespace ba;use Throwable; use think\facade\Db; use think\facade\Lang; use think\facade\Config;/*** 点选文字验证码类*/ class ClickCaptcha {/*** 验证码过期时间(s)* var int*/private int $expire 600;/*** 可以…

我记不住的那些命令(不断更新中)

fzf 一种进行模糊查找的命令行工具 主页&#xff1a;https://github.com/junegunn/fzf 我的主机是 Kali&#xff0c;通过apt进行安装fzf&#xff0c;并进行配置。 # apt install fzf # apt show fzf 通过参考/usr/share/doc/fzf/README.Debian来进行快速配置快捷键和自动补…

保护您的Google账号安全:检查和加固措施

简介&#xff1a;随着我们在日常生活中越来越依赖于Google账号&#xff0c;我们的个人信息和敏感数据也变得越来越容易受到威胁。为了确保您的Google账号的安全性&#xff0c;本文将介绍一些简单但有效的方法&#xff0c;帮助您检查和加固您的Google账号。 --- 在数字时代&am…

squid代理服务器

squide是正向代理&#xff0c;缓存加速。基于aci访问控制协议。可以过滤控制。可以实现访问控制 squid代理的工作机制 nginx是转发 1、 squid是代替客户端向网站请求数据&#xff0c;不需要访问代理的ip地址。直接请求目的网站即可。由代理服务器处理请求和响应。squid也可以…

Linux 应用服务

Part I: Linux 系统概述 什么是 LinuxLinux 的历史和版本Linux 发行版介绍Linux 的优缺点 Part II: Linux 安装与配置 5. 硬件要求与准备工作 6. 安装 Linux 操作系统 7. Linux 系统初始化设置 8. Linux 系统更新与升级 9. Linux 基础配置 Part III: Linux 命令行 10. Linux…

关于前端地图笔记

坐标系 地球坐标系——WGS84&#xff1a;常见于 GPS 设备&#xff0c;Google 地图等国际标准的坐标体系。火星坐标系——GCJ-02&#xff1a;中国国内使用的被强制加密后的坐标体系&#xff0c;高德坐标、腾讯地图。百度坐标系——BD-09&#xff1a;百度地图所使用的坐标体系&a…

如何创建NTP Server给本地局域网用

安装NTP Server sudo apt-get install ntp配置conf文件 sudo vimd /etc/ntp.conf# 允许本地网络的客户端访问&#xff0c;但是不允许本地机器修改server的时间 restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap启动服务 sudo service ntp start你可以使用以下命令来检…

[Mac软件]Adobe Media Encoder 2024 V24.0.2免激活版

软件说明 使用Media Encoder&#xff0c;您将能够处理和管理多媒体。插入、转码、创建代理版本&#xff0c;并几乎以任何可用的格式输出。在应用程序中以单一方式使用多媒体&#xff0c;包括Premiere Pro、After Effects和Audition。 紧密整合 与Adobe Premiere Pro、After …

WebRTC简介及使用

文章目录 前言一、WebRTC 简介1、webrtc 是什么2、webrtc 可以做什么3、数据传输需要些什么4、SDP 协议5、STUN6、TURN7、ICE 二、WebRTC 整体框架三、WebRTC 功能模块1、视频相关①、视频采集---video_capture②、视频编解码---video_coding③、视频加密---video_engine_encry…

保护数字前沿:下一代防火墙如何塑造网络安全的未来

下一代防火墙通过提供先进的威胁检测、精细控制和云安全功能&#xff0c;正在重塑网络安全的未来。随着数字环境的不断发展&#xff0c;组织必须采用这些创新解决方案来保护其数字资产并维护安全的数字前沿。 在当今互联的世界中&#xff0c;网络威胁变得越来越复杂&#xff0c…

安全认证 | CISP和CISSP区别是什么?考哪个好?

随着信息安全愈发受到重视&#xff0c;信息安全领域的证书也越来越多&#xff0c;其中比较权威的如CISP和CISSP证书是不少人的选择。 那么这两者之间到底有什么区别&#xff1f;究竟考哪个会比较好呢&#xff1f; 01 CISP是什么 CISP指的是注册信息安全专业人员&#xff0c;系…

阿里云ACK(Serverless)安装APISIX网关及APISIX Ingress Controller

在k8s上安装apisix全家&#xff0c;通过helm安装很简单&#xff0c;但是会遇到一些问题。 安装 首先登录阿里云控制台&#xff0c;在ACK集群详情页&#xff0c;进入CloudShell&#xff0c;执行下面helm命令安装apisix、apisix-ectd、apisix-dashboard和apisix-ingress-contro…

第1关:构造函数与析构函数的实现

题目&#xff1a;根据.h写出.cpp 考点&#xff1a; 1.链表的默认构造&#xff0c; 拷贝构造&#xff0c;传参构造以及析构函数等。 代码&#xff1a; /********** BEGIN **********/ #include <cstdlib> #include <cstring> #include "LinkedList.h&…