Jmeter 使用Json提取请求数据

使用Json提取器可以提取请求响应数据

Json提取器

位置: 后置处理器-》Json提取器

Jmeter 使用Json提取请求数据

使用介绍

1,变量名

变量名,其他部分引用方式: ${变量名}
若提取多个变量,多个之间使用分号”;”分割

Jmeter 使用Json提取请求数据

2,Json表达式

$表示响应的根对象
.表示对象的下一级子对象或者属性
取数组加[],数组索引从0开始,*表示数组所有值

若响应结构为:{“code”:200,”resultMessage”:””,”data”:2}
$.data 表示取data这个对象若响应结构为:[{},{},{}]
$[1或者*] 1,2,3表示取数组第几个元素,表示取所有若响应结构为:{“属性”:[{“sx”:1},{},{}]}
$.属性[0].sx

3,Match no

-1表示匹配所有
0表示随机取值
1表示匹配第一个,2表示匹配第二个
设置变量数量与match no个数要匹配得上,多个提取之间使用;分割

设置为-1时

会提取多个变量,单个变量的引用带具体数值,数字表示提取到的第几个变量。使用方式:${变量名_序列} 序列为1,2,3。。。。

设置为-1时,生成其他相关变量

变量名_matchNr
意思是取到的符合条件的数字个数。可以像使用普通变量一样使用这个_matchNr变量。
变量名_ALL
若是勾选了 计算串联变量(Compute concatenation var(suffix _ALL))则还会生成以_ALL结尾的变量,表示所有变量组合的变量,以分号分割

Jmeter 使用Json提取请求数据
Jmeter 使用Json提取请求数据

设置为0或1,2,3等具体数值

取的是单个值,变量的使用是${变量名},不用加序列号

4,默认值

没有匹配上的默认值,取多个值时,可设置多个默认值,多个默认值之间分号分割

提取变量的后续操作

调试器样本查看变量取值情况

查看json提取的数据取值情况

Jmeter 使用Json提取请求数据Jmeter 使用Json提取请求数据

这里debug样本器提取了变量pi 还会生成pi_matchNr变量,表示这个变量提取了多少匹配的值。

Beanshell写变量到文件

beanshell后置处理程序
若是请求之后,提取变量,写文件使用的是beanshell后置处理程序
beanshell取样器
非请求之后写入使用的是beanshell取样器
两种beanshell元件,其中代码暂时没有发现不同

Jmeter 使用Json提取请求数据

这是使用beanshell写入获取的quo_no的ALL变量quo_no_ALL ,写入文件后取值直接也是带分号的。

遍历提取到的值

Jmeter 使用Json提取请求数据

变量名为quo_no
match no为-1提取数组对象所有符合值

使用ForEach遍历器遍历获取的所有quo_no

Jmeter 使用Json提取请求数据

ForEach控制器,从0开始(不包括0),停止循环为 q u o n o m a t c h N r 输 出 变 量 名 设 置 好 q u o o o , 该 控 制 下 调 用 变 量 名 {quo_no_matchNr} 输出变量名设置好quooo,该控制下调用变量名 quon​om​atchNr输出变量名设置好quooo,该控制下调用变量名{quooo}

比如,本脚本是使用beanshell采样器去写文件

Jmeter 使用Json提取请求数据

除了写文件还可以做其他处理,比如带上提取到的变量继续请求。

到此这篇关于Jmeter 使用Json提取请求数据的文章就介绍到这了,更多相关Jmeter Json提取请求数据内容请搜索【脚本之家】

Original: https://www.cnblogs.com/yaodun55/p/16125265.html
Author: 少年Dev
Title: Jmeter 使用Json提取请求数据

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585538/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Spring Boot yaml配置文件解析

    1、Spring Boot 配置文件类型和作用 2、yaml 配置文件简介 3、yaml 基础语法 3.1、配置【基本】数据类型 3.2、配置【Object、Map】数据类型 3….

    Linux 2023年6月8日
    0106
  • 【C++基础】数据类型

    C++规定在创建一个变量或者产量时,必须要指定相应的数据类型,否则无法给变量分配内存空间 数据类型的存在意义:给变量分配合适的内存空间 整型 作用:整型变量表示的是整数类型的数据 …

    Linux 2023年6月13日
    0105
  • 大天使之剑H5游戏超详细图文架设教程

    引言 想体验传奇游戏霸服的快乐吗?想体验满级VIP的尊贵吗?想体验一刀99999的爽快吗?各种极品装备、翅膀、宠物通通给你,就在大天使之剑! 本文讲解大天使之剑H5游戏的架设教程,…

    Linux 2023年6月7日
    0124
  • HRShell:Flask构建的HTTPS HTTP反向Shell

    https://www.freebuf.com/sectool/212678.html 纸上得来终觉浅,绝知此事要躬行! Original: https://www.cnblogs…

    Linux 2023年5月28日
    0124
  • ulimit: open files: cannot modify limit: Operation not permitted

    统管理员刚给授权了一台Linux 服务器访问权限,我在JumpServer 登录的时候,遇到下面错误: Last login: Wed Nov 10 13:29:30 2021 f…

    Linux 2023年5月27日
    0128
  • 自动化服务器巡检的实现过程

    由于上级的工作安排,从今年5月开始,每天都要做一些服务器信息检查。 [En] Due to the work arrangement of the superior, it is …

    Linux 2023年5月27日
    0100
  • SQLI-LABS(Less-8)

    Less-8(GET-Blind-Boolean Based-Single Quotes) 打开 Less-8页面,可以看到页面中间有一句 Please input the ID …

    Linux 2023年6月6日
    097
  • PHP array_reduce()

    array_reduce array_reduce() 将回调函数 callback 迭代地作用到 array 数组中的每一个单元中,从而将数组简化为单一的值。 示例一: 示例二:…

    Linux 2023年6月7日
    0120
  • Java秒杀系统三:web层

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月11日
    0108
  • python 多线程

    python 多线程 多线程流程 导入模块 import threading 通过线程类型创建线程对象 线程对&a…

    Linux 2023年6月13日
    084
  • 将Java代码打包成jar文件转换为.exe可执行程序方法

    ​ 做完学生管理系统后我想将代码打包成一个可执行程序,那样就可以直接点击在Windows下运行了,下面就跟大家分享下打包方法。 将Java的代码转换成 .exe 文件需要先把代码打…

    Linux 2023年6月6日
    0105
  • 使用SpringBoot校验客户端传来的数据

    前端的数据校验都是辣鸡!后端天下第一! 如果想完美地贯彻原则, 理论上来说就应该让前端那边少传数据过来, 有些的东西能查的就自己查出来。 常用的数据校验like this: /**…

    Linux 2023年6月14日
    082
  • ELK收集MySQL慢日志并告警

    采用的是 filebeat采集日志, Redis做日志存储, logstash消费处理日志,将处理过的日志存储到 ES, kibana做日志展示, Elastalert做监控告警长…

    Linux 2023年5月27日
    0104
  • Centos7.9编译OpenSSH的rpm安装包并升级OpenSSH

    本文介绍如何通过openssh-9.0p1.tar.gz制作openssh的rpm安装包,并升级openssh到9.0。 下载openssh-9.0p1.tar.gz 编译成rpm…

    Linux 2023年6月7日
    0114
  • Android XML: Multiple button layout

    The layout : The xml code : 😃(before using this code, you should create your drawable xml …

    Linux 2023年6月13日
    0109
  • 【小记】Linux 快速查找并结束僵尸进程

    Linux SSH 连接后显示: There is 1 zombie process. 说明当前正在运行的系统当中存在1个僵尸进程正在无意义消耗资源。 ==============…

    Linux 2023年6月13日
    0124
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球