jmeter学习(4)提取器

devtools/2024/10/11 8:46:23/

同线程组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个,以此类推;$1$$2$代表该正则表达式一组结果中的第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获取布尔值等


http://www.ppmy.cn/devtools/124082.html

相关文章

解锁 Python 嵌套字典的奥秘:高效操作与实战应用指南

文章目录 前言🍀一、 什么是 Python 字典?1.1 字典的语法 🍀二、 字典的基本操作2.1 字典的创建2.2 访问字典中的值2.3 添加或修改键值对2.4 删除字典中的键值对 🍀三、 字典的遍历操作3.1 遍历字典的键3.2 遍历字典的值3.3 同时遍…

Vue 脚手架学习

1.使用 Vue 脚手架 1.1 初始化脚手架 1.1.1 具体步骤 第一步(仅第一次执行):全局安装vue/cli。 npm install -g vue/cli 第二步:切换到你要创建项目的目录,然后使用命令创建项目 vue create xxxx 第三步:启…

【30天玩转python】最后复习与总结

最后复习与总结 复习要点 在过去的 30 天中,我们从基础到高阶全面学习了 Python 编程,涵盖了各种实用的编程技巧与概念,以下是对本次学习的主要复习点: 1. Python 基础 Python 简介与安装:我们首先了解了 Python 的发展历史、适用场景以及如何在不同操作系统上安装 Pyth…

获取鸿蒙设备Udid遇到的问题

参考官方文档:注册调试设备-调试应用(HarmonyOS)-AppGallery Connect帮助中心 - 华为HarmonyOS开发者 (huawei.com) 坑一:The sdk hdc.exe version is too low, please upgrade to the latest version. 升级dev工具和sdk配置为api…

Excel多级结构转成树结构形式

第一步:Excel文件的形式如下 第二步:转换成树结构可选形式 第三步:具体怎么实现? (1)、需要借助数据库中表来存储这些字段,一张表(aa)存Excel文件中的所有数据&#xff…

WPF|依赖属性SetCurrentValue方法不会使绑定失效, SetValue方法会使绑定失效?是真的吗?

引言 最近因为一个触发器设置的结果总是不起效果的原因,进一步去了解[依赖属性的优先级](Dependency property value precedence - WPF .NET | Microsoft Learn)。在学习这个的过程中发现对SetCurrentValue一直以来的谬误。 在WPF中依赖属性Dependency property的…

【Flutter】- 核心语法

文章目录 知识回顾前言源码分析1. 有状态组件2. 无状态组件3. 组件生命周期4. 常用组件Container组件Text组件Image组件布局组件row colum stack expandedElevntButton按钮拓展知识总结知识回顾 【Flutter】- 基础语法 前言 Flutter是以组件化的思想构建客户端页面的,类似于…

python全栈开发《42.列表的copy函数(深浅拷贝区别)》

1.copy的功能 将当前的列表复制出一份相同的列表,可以将这个新的列表赋值给一个新的变量,新列表与旧列表内容相同,但内存空间不同。 2.copy的用法 old_list [a,b,c] new_list old_list.copy() print(new_list) 运行结果: /Users…