jmeter学习(4)提取器

同线程组https://blog.csdn.net/vikeyyyy/article/details/80437530

不同线程组

JMeter中,正则表达式提取的参数可以跨线程组使用。 通过使用Beanshell后置处理器和属性设置函数,可以将提取的参数设置为全局变量,从而在多个线程组之间共享这些参数。

https://mp.weixin.qq.com/s/4X_WCeVWDkiXXX_YWlPnDg

1)正则表达式提取

引用名称(Reference Name): Jmeter变量的名称,存储提取的结果;即下个请求需要引用的值、字段、变量名(例子中我提取的是SOCIAL_NO)
**正则表达式(Regular Expression):**使用正则表达式解析响应结果,"()"表示提取字符串中的部分值,请不要使用"||",除非你本身需要匹配这个字符。

模板: 代表从正则表达式结果引用的样式,其实结果是一组,而不是一个。0代表这一组结果的全部,1代表这一组结果的第1个,以此类推;12代表该正则表达式一组结果中的第1个和第2个,俩结果挨在一起中间没有间隔;3,4代表该正则表达式一组结果中的第3个和第4个,俩结果间有一个逗号相连。
匹配数字: 0代表正则表达式结果组中随机,1代表全部。
**缺省值:**当引用不对时显示传递的信息,通常写一个ERROR。

表达式注意空格!!!

2)json提取

位置:在线程组中,则位置随意,保证接受参数的请求在获取参数请求后面就行;在获取请求下

3)beanshell 提取

jmeter后置处理器之BeanShell PostProcessor - qiaoli - 博客园 (cnblogs.com)

jmeter BeanShell 后置处理器 - 三只松鼠 - 博客园 (cnblogs.com)

复制代码
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

String response = prev.getResponseDataAsString();
log.info("~~~~~~~~~~~~~~~~~~~打印响应报文1"+ response);
//System.out.println("response:"+response)
JSONObject jso = JSON.parseObject(response);
log.info("~~~~~~~~~~~~~~~~~~~打印响应报文2"+jso);
JSONObject data =  jso.getJSONObject("data");
//String tmp1 = jso.getJson("data")
log.info("~~~~~~~~~~~~~~~~~~~打印响应报文3"+data);
JSONObject nlpResult =  data.getJSONObject("nlpResult");
log.info("~~~~~~~~~~~~~~~~~~~打印响应报文4"+ nlpResult);
String userQuery =nlpResult.getString("userQuery");
log.info("~~~~~~~~~~~~~~~~~~~打印响应报文5"+ userQuery);
vars.put("userQuerynew",userQuery)

用到fastjson 需要下载jar包,放到lib/ext

获取着将路径在test plan 加到classpath

获取json jsonObject.getJSONObject

获取数组 jsonObject.getJSONArray

获取string jsonObject.getString

使用getString获取字符串值,getInt获取整数值,getDouble获取浮点数值,getBoolean获取布尔值等

相关推荐
zhangrelay2 分钟前
《机器人控制器设计与编程》课程习题资料-2026
linux·笔记·学习·ubuntu
kkkkkkkkkk_Z24 分钟前
新手自学嵌入式|学习日记:从C语言到51单片机基础(GPIO、中断、定时器与PWM篇)
linux·笔记·学习·51单片机
陈年老古董38 分钟前
微博情感分析项目学习笔记
笔记·python·学习·机器学习·项目
老当益壮梁奶奶1 小时前
ARM汇编学习笔记(六):【i.MX6ULL】时钟系统与定时器(EPIT & GPT)
c语言·arm开发·嵌入式硬件·学习·51单片机
明德扬1 小时前
机器人多摄像头如何做FPGA多路视频聚合?
学习·fpga开发·fpga
曼巴UE52 小时前
UE5 客户端 需要的网络同步概念总结(3 )-事件同步 RPC 以及三种调用方式
网络·c++·网络协议·学习·rpc·ue5
昌原的儿子LEO2 小时前
IMX6ULL 时钟系统与 EPIT/GPT 定时器原理与配置
arm开发·学习
乌暮2 小时前
Java 抽象类与接口详解:半成品图纸 vs 能力合同
java·开发语言·后端·学习
AAA代码批发商2 小时前
Days 47 IMX6ULL 裸机开发:按键轮询实验 + 外部中断原理剖析(上)
笔记·学习·imx6ull·裸机开发·#arm中断
一条破秋裤2 小时前
Hi3516CV610 20S V4 开发板启动与调试流程
学习