jmeter之跨线程关联

1)_setproperty函数:将值保存成jmeter属性

2)_property函数:在其他线程组中使用property函数读取属性

 一、跨线程接口引用变量

 1. 法一:jmeter自带函数_setProperty和_property

1. 1线程组 01

  • 创建登录的【HTTP请求】,并配置接口所需参数;
  • 创建【正则表达式提取器】,用正则表达式提取token字段;

applay to 选择“主请求和子请求” 

 

3、创建【BeanShel后置处理器】,编写脚本,将正则表达式中的变量变成全局变量:

利用函数助手:将需要提取的设置为全局变量

 

 

${__setProperty(p_csrf_token,${csrf_token},)};
  • 后面的 ${csrf_token} 是正则表达式提取器中的变量;
  • 前面的 csrf_token是新定义的全局变量,后续跨线程组使用时是使用的这个变量名。

1.2 线程组 02

使用上述变量处通过函数助手property参数化写入${__property(p_csrf_token,,)}即可实现跨线程组。

Jmeter之内置函数__property和__P的区别_jmeter property函数-CSDN博客 

 

创建并配置好【HTTP请求】

参数调用:

${__property(p_csrf_token,,)}

2. 法二:beanshell自带方法

String newToken = vars.get("token");//将变量token赋值给变量newToken

props.put("newToken1",newToken);//将newToken赋值给newToken1,此时newToken1已成为全局变量,其他线程直接引用${__P(newToken1)}

String aaa = props.get("newToken1");//获取全局变量newToken1复制给aaa

 BeanShell后置处理器

String newToken = vars.get("token");
props.put("newToken1",newToken);
String aaa = props.get("newToken1");

3. 法三:调用java方法

import org.apache.jmeter.util.JMeterUtils;

JMeterUtils.setProperty("newToken1","${token}");//将变量token赋值给全局变量newtoken1,其他线程直接引用${__P(newToken1)}

 BeanShell后置处理器 

import org.apache.jmeter.util.JMeterUtils;
JMeterUtils.setProperty("newToken1","${token}");

二、跨线程cookie关联 (token关联)

cookie和token都用此方法 

 1. 全局配置文件jmeter.propties

修改bin目录下全局配置文件jmeter.propties中的【CookieManager.save.cookies=true】--注意修改后需要重启jmeter

 

2.查看调试取样器(Debug Sampler) 

3. Cookie值设为全局变量

从调试取样器中取得Cookie的值并且设置为全局变量

注意:变量名不能随便取,必须响应头里面的变量名一致 

${__setProperty(W2S_lastvisit,COOKIE_W2S_lastvisit,)}
${__setProperty(W2S_visitor,COOKIE_W2S_visitor,)}
${__setProperty(csrf_token,COOKIE_csrf_token,)}

 

4. 设置Http Cookie管理器

把取得的值设置到Http Cookie管理器中

注意:

  • cookie管理器与线程组同一级
  • cookie管理器中的域一定要填写为正确的请求地址

 

5.跨线程组直接调用

 

 

三、 运行设置

让线程按顺序执行

 

运行结果 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java知识总结---并发篇

线程 线程的状态 Java中线程可以有如下6中状态: NEW 新创建 RUNNABLE 可运行 BLOCKED 阻塞 WAITING 等待 TIMED WAITING 计时等待 TERMINATED 终止 线程的创建 (1)继承Thread类 public class ExtendsThread extends Thread { O…

后端工程师——C++工程师招聘需求

相比 Java 语言方向,C 入门简单,精通难,找工作竞争压力更小,但 C 依然是近年来招聘的热门岗位之一。本文将从以下三个方面进行详细讲解,帮助你对 C 相关岗位的就业前景、岗位要求、学习路线等有更充分的了解。 C工程师…

48-70V降12V/33V 5A高效同步降压DC-DC——AH1007

AH1007是一款高效率、高压外置MOSFET管降压芯片TEL:186*4884*3702*,芯片典型输入是8V~100V,输出 电压可调,AH1007最大输出电流可支持6A以上,需要注意板子的散热和温升。 AH1007典型开关频率为150KHz。轻载时会自动降低开关频率以…

SSRF—服务器请求伪造 漏洞详解

漏洞简述 SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造,由服务端发起请求的一个网络攻击,一般用来在外网探测或攻击内网服务,其影响效果根据服务器用的函数不同,从而造成不同的影响。 SSRF 形成的原因…

H5点击复制功能 兼容安卓、IOS

效果图 HTML代码 <div>链接&#xff1a;<span style"color: #FF8A21" click"CopyUrl" id"copyId"> https://blog.csdn.net/qq_51463650?spm1000.2115.3001.5343</span> </div>复制方法 const CopyUrl () > {let …

水库大坝安全白蚁监测系统解决方案

一、系统背景 白蚁作为河岸生态系统中的重要病害&#xff0c;不仅会导致水库大坝外部环境发生改变&#xff0c;甚至会引发水库大坝破坏&#xff0c;进而导致自身结构失去稳定性&#xff0c;严重影响水库大坝的正常运行。因此&#xff0c;治理水库大坝白蚁是确保水库大坝工程顺利…

chrome 浏览器 f12 如何查看 websocket 消息?

1. 打开目标页面 2. f12--》网络--》WS&#xff0c;然后刷新页面( 如果不刷页面&#xff0c;就会看不到 websocket 请求&#xff0c;因为 websocket 是长连接&#xff0c;页面加载后只发出一次连接请求&#xff0c;不像 http 接口&#xff0c;不用刷新页面&#xff0c;待会儿也…

Linux Docker下载镜像更改默认存储位置/usr/lib/docker

用于解决docker默认存储位置磁盘空间不足&#xff0c;切换存储位置 1、执行下面命令查看 现在docker的存储位置 docker info | grep "Docker Root Dir" 1.2、如果之前已经下载过镜像可以用mv命令把原来的镜像复制到新的地址 mv /var/lib/docker /data/docker 2、…

十堰着力建设城市级供应链安全检测平台,全力打造数字政府安全示范区

4月23日&#xff0c;十堰市互联网信息办公室、十堰政务服务和大数据管理局、十堰数安技术有限公司共同签订了《城市供应链安全检测平台战略合作框架协议》&#xff0c;通过政企深度协作&#xff0c;加强十堰市数字安全体系建设&#xff0c;为推动十堰市乃至湖北省数字经济产业发…

RS1G08XF5规格详情

RS1G08XF5 是一款由润石&#xff08;RUNIC&#xff09;公司生产的电子元器件。根据所提供的信息&#xff0c;这是一款SOT-23-5封装的器件&#xff0c;其主要参数包括最小电源电压为5V&#xff0c;最大电源电压为6V&#xff0c;最小工作温度为-40C。 为了更准确地了解这款器件的…

【开源】I.Mx6uLL的QT项目合集

文章目录 前言仓库11.下载仓库代码2.使用qmake交叉编译3.效果展示 前言 不定期的更新基于I.Mx6uLL的arm架构下的QT项目合集&#xff1a; 项目移植前的准备 【环境安装】 仓库1 1.下载仓库代码 https://github.com/cocowts/QtCustomcomponent git clone https://github.com/…

ssm框架的网上招聘系统的设计与实现,ssm框架,java编程,mysql数据库 myeclipse开发平台

网上招聘是一个功能很复杂的系统&#xff0c;各个部门之间要有一定的协调能力。 要建立一个高效的管理系统的关键问题就是系统内部的各个模块的相互作用&#xff0c;简单的编写一个网站 只用html &#xff0c;css &#xff0c;javascript &#xff0c;xml &#xff0c;xsl技术…

XUbuntu18.04 源码编译Qt4.5.3的过程

由于新公司很多旧的软件都是基于这个版本做的嵌入式开发。 所以想要自己搭一套基于Linux的非嵌入式开发环境&#xff0c;方便用来调试和编译代码。 这样就可以完成在linux下开发&#xff0c;然后直接嵌入式打包&#xff0c;涉及到界面的部分就不需要上机调试看问题了。 所以…

java 当中的流

初识io 代码演示 private final static String URL "E:\\";private final static String READURL "H:\\kj\\202402\\LS0205.00P";Testpublic void testOutputStream() {long start System.currentTimeMillis();try (InputStream in new FileInputStrea…

RC电路延时时间常数在线计算器

RC电路延时时间常数在线计算器: https://www.838dz.com/calculator/1888.html 急用时&#xff0c;找不到。

古籍数字化平台中的OCR:这个平台更精准

在浩瀚的历史长河中&#xff0c;古籍作为中华民族的文化瑰宝&#xff0c;承载着无数先人的智慧与心血。然而&#xff0c;由于岁月侵蚀、保存不当等多种原因&#xff0c;许多珍贵的古籍面临损坏、失传的危机。为了守护这些无价之宝&#xff0c;云聪研发团队倾力打造了一款尖端的…

portaudio 怎么调用获取输出流

PortAudio是一个跨平台的音频I/O库&#xff0c;它允许你访问计算机的音频硬件进行录音和播放。要使用PortAudio获取输出流&#xff08;播放流&#xff09;&#xff0c;你需要遵循以下步骤&#xff1a; 官方下载地址&#xff1a;PortAudio - an Open-Source Cross-Platform Audi…

AIGC技术的探索与展望:跨界融合与科技变革

文章目录 前言一、AIGC技术的现状与特点二、AIGC技术在各个领域的应用三、AIGC技术对未来社会的影响四、AIGC技术的可能发展方向 前言 随着科技的飞速发展&#xff0c;人工智能与大数据的结合日益紧密&#xff0c;AIGC&#xff08;人工智能生成内容&#xff09;技术作为这一领域…

Linux——web基础实验

实验前的安装 [rootwebserver ~]# yum -y install httpd [rootwebserver ~]# systemctl enable --now httpd Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service. [rootwebserver ~]# echo test for apach…

Linux入门攻坚——20、systemd、(sysvinit、upstart重温)

再一次讲到Linux系统启动流程&#xff1a; POST --> Boot Sequence --> Bootloader(grub) --> kernel initramfs(initrd) --> rootfs --> /sbin/init 对于init&#xff0c;即系统内核加载完毕后&#xff08;加载kernel和切换根文件系统&#xff09;运行…
最新文章