Jmeter后置处理器实现过程及方法应用
作者:多测师_郑sir 发布时间:2023-08-26 17:22:41
1.JSON Extractor
Json extractor 后置处理器用在返回格式为 Json 的 HTTP 请求中,用来获取返回的 Json 中的某个值。并保存成变量供后面的请求进行调用或断言等。
Variable names:保存的变量名,后面使用 ${Variable names} 引用
JSON Path expressions:上一步中调试通过的 json path 表达式
Match Numbers:匹配数字(0代表随机,1代表第一个,-1代表所有)
Default Values:找不到时默认值,一般设置为 NOT FOUND
Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”,使用场景需要获取的值有多个,后面需要对这一组数据进行操作
Json Path expression 的使用
JsonPath | 描述 |
$ | 根节点 |
@ | 当前节点 |
.or[] | 子节点 |
.. | 选择所有符合条件的节点 |
* | 所有节点 |
[] | 迭代器标示,如数组下标 |
[,] | 支持迭代器中做多选 |
[start:end:step] | 数组切片运算符 |
?() | 支持过滤操作 |
() | 支持表达式计算 |
示例如下:
2.正则表达式
引用名称:自己定义的变量名称,后续请求将要引用到的变量名,如填写的是:JWT,后面的引用方式是 ${JWT}
正则表达式:提取内容的正则表达式,相当于 loadrunner 中的关联函数
"()" 括起来的部分就是需要提取的,对于你要提的内容需要用小括号括起来
"." 匹配除了换行符以外的任何字符
"*" (贪婪) 重复零次或更多
例如 "aaaaaaaa" 匹配字符串中所有的a 正则: "a*" 会出到所有的字符 "a"
"+" (懒惰) 重复一次或更多次
例如 "aaaaaaaa" 匹配字符串中所有的a 正则: "a+" 会取到字符中所有的 a 字符, "a+" 与 "a*" 不同在于 "+" 至少是一次而 "*" 可以是0次
"?" (占有) 重复零次或一次
例如 "aaaaaaaa" 匹配字符串中的a 正则 : "a?" 只会匹配一次,也就是结果只是单个字符 a
"*?" 重复任意次,但尽可能少重复
例如 "acbacb" 正则 "a.*?b" 只会取到第一个 "acb" 原本可以全部取到但加了限定符后,只会匹配尽可能少的字符 ,而 "acbacb" 最少字符的结果就是 "acb"
"+?" 重复1次或更多次,但尽可能少重复,与 "*?" 一样,只是至少要重复1次
还有分组的情况,常用的就这两种,其它的可以再自行百度
"(?=exp)" 匹配exp前面的位置
"(?<=exp)" 匹配exp后面的位置
模板:用 $$ 引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的),则可以是 $1$,$2$,$3$ 等等,表示解析到的第几个值给 var。例如:$1$ 表示匹配到的第一个值
匹配数字:0 代表随机取值,此时提取结果是一个数组,1 表示取出匹配到的第一个值,负数表示提取所有符合条件的值。
缺省值:正则匹配失败时,取的值
想要知道正则表达式是否正确,可以在请求后加入调试取样器(右键-添加-取样器-调试取样器 debug sampler)
没有特殊的情况用(.*?)就可以解决所有问题
来源:https://www.cnblogs.com/ZhengYing0813/p/11845188.html


猜你喜欢
- 概述:@Valid是使用Hibernate validation的时候使用@Validated是只用Spring Validator校验机制
- 本文实例讲述了Java实现储存对象并按对象某属性排序的几种方法。分享给大家供大家参考,具体如下:在编程的时候,经常会出现对某一种类的对象们按
- 本章节内容很丰富,主要有基本的表单操作,数据的格式化,数据的校验,以及提示信息的国际化等实用技能。首先看效果图项目结构图接下来用代码重点学习
- MyBatis动态sql动态sql处理简单的多参数查询常用标签标签说明if条件判断,与java中的if语句类似where为sql语句动态添加
- 关于约瑟夫环的基本知识:罗马人攻占了乔塔帕特,41人藏在一个山洞中躲过了这场浩劫。这41个人中,包括历史学家josephus和他的一个朋友。
- 相信大家在系统学习jvm的时候都会有遇到过这样的问题,散落的jvm知识点知道很多,但是真正在线上环境遇到一些莫名其妙的gc异常时候却无从下手
- 一、算法描述波雷费密码是一种对称式密码,是首种双字母取代的加密法。下面描述算法步骤:1、从1号二维码M05,提取明文信息和密文,M05格式:
- 幂等概述幂等性原本是数学上的概念,即使公式:f(x)=f(f(x)) 能够成立的数学性质。用在编程领域,则意为对同一个系统,使用同样的条件,
- 什么是局部类型?C# 2.0 引入了局部类型的概念。局部类型允许我们将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。局部
- 当时用逆向生成后,实体类中的下划线都被去掉,这时只需要在sqlmap.xml中加以下代码即可。打开mybatis驼峰法则。 <sett
- 本文实例讲述了Android创建或升级数据库时执行的语句,如果是创建或升级数据库,请使用带List参数的构造方法,带SQL语句的构造方法将在
- 对大部分系统来说都需要权限管理来决定不同用户可以看到哪些内容,那么如何在Spring MVC中实现权限验证呢?当然我们可以继续使用servl
- 本文实例讲述了java简单列出文件夹下所有文件的方法。分享给大家供大家参考,具体如下:import Java.io.*;public cla
- 新建一个类MyPageInterceptor.java(注意在springboot中要添加注解@Component)package com.
- 前言前面说到在我们应对高并发的场景,请求量过于大的情况下给我们服务器的压力很多,造成缓存穿透、击穿、雪崩,那么我们采用布隆过滤器,有兴趣的小
- 一、前言在一些对高并发请求有限制的系统或者功能里,比如说秒杀活动,或者一些网站返回的当前用户过多,请稍后尝试。这些都是通过对同一时刻请求数量
- 后端实现1. 数据库设计我们需要设计两个表:用户表和角色表。用户表字段 类型 描述id bigint(20) 用户 IDusername v
- 根据之前学的Android对话框技术,来实现下面一个效果:界面有一个"退出"按钮,按下之后会弹出一个询问是否退出的提示对
- 项目要求1.初次打开程序时右上角标题栏显示“无连接”,点击旁边的按钮选择“我的好友”,进入配对界面;2.选择好友之后,返回主界面,标题栏会显
- Redisson分布式锁之前的基于注解的锁有一种锁是基本redis的分布式锁,锁的实现我是基于redisson组件提供的RLock,这篇来看