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.mzph.cn/diannao/3180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1、k8s问题pod从service中剔除

一、起因 redis原来由两服务器的集群变为三服务器的集群,通过statefulset扩展了两节点,并把redis-app-0和redis-app-3从集群中去除,但是由于service路由后端不变,导致程序连接后端仍然可能到redis-app-0和redis-app-3 二、处理 …

分类算法——决策树(五)

认识决策树 决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-else结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法。 决策树分类原理详解 为了更好理解决策树具体怎么分类的,通过一个问题例子: 问题…

C++入门----内联函数auto范围fornullptr指针

1.内联函数 顾名思义,内联函数也是函数的一种,我们在C语言的学习过程里面知道了函数和宏之间的区别和各自的优缺点; 函数的使用需要建立栈帧,宏的使用需要考虑各种符号的优先级问题,很容易出错,因为宏在使…

HarmonyOS开发案例:【闹钟】

介绍 使用后台代理提醒,实现一个简易闹钟。要求完成以下功能: 展示指针表盘或数字时间。添加、修改和删除闹钟。展示闹钟列表,并可打开和关闭单个闹钟。闹钟到设定的时间后弹出提醒。将闹钟的定时数据保存到轻量级数据库。 相关概念 [Canva…

数学建模完整版

模型与适用题型 微分方程传染病预测模型 神经网络 层次分析法 粒子群算法 matlab 优劣解距离法

如何为Postgres数据库设置安全的访问控制和权限管理

文章目录 解决方案1. 使用角色和权限管理2. 配置认证方法3. 使用网络访问控制4. 定期审查和更新权限 示例代码1. 创建角色并分配权限2. 配置密码认证3. 配置网络访问控制 总结 PostgreSQL是一个功能强大的开源关系型数据库系统,提供了丰富的权限和访问控制机制&…

LLM大语言模型(十二):关于ChatGLM3-6B不兼容Langchain 的Function Call

背景 基于本地的ChatGLM3-6B直接开发LangChain Function Call应用,发现其输出的action和action_input非常不稳定。 表现为生成的JSON格式回答非常容易出现不规范的情况,导致LangChain的Agent执行报错,或者进入死循环。 ChatGLM3-6B不兼容La…

基于北京迅为iTOP-RK3588大语言模型部署测试

人工智能(AI)领域中的大模型(Large Model)逐渐成为研究的热点。大模型,顾名思义,是指拥有海量参数和高度复杂结构的深度学习模型。它的出现,不仅推动了AI技术的突破,更为各行各业带来…

【C++】——类和对象(构造函数,析构函数,拷贝构造函数,赋值运算符重载)

创作不易,多多支持! 前言 相信你对这几个知识点有点混淆,相信看完以后,你会对此有一个清晰的认识。 一 类的6个默认成员函数 如果我们写一个类,但是类里面什么都没有,我们称之为空类。 其实这个类也不…

DC-DC电源芯片规格书上的各种参数详解

1.输出电压精确度 输出电压的精确度,也被称为设定点精度,它描述了输出电压的允许误差。该参数通常是在常温,满载和额定输入电压的条件下测得的,它是这样定义的: 输出电压之所以产生误差,是因为元器件本身存在误差,特别是输出端的分压电阻,它将输出电压降低后比PWM比较…

Mac装虚拟机好不好 Mac装虚拟机和装Windows系统一样吗 PD虚拟机

随着跨系统操作的不断发展,虚拟机技术在生产力领域扮演着越来越重要的角色。Mac作为一款主流的操作系统,也有着运行虚拟机的能力。接下来给大家介绍Mac装虚拟机好不好,Mac装虚拟机和装Windows系统一样吗的具体内容。 一、Mac装虚拟机好不好 …

UNIX环境高级编程->高级IO(概念篇)

UINX环境 常见的操作系统比如Linux 和 MacOS都是基于UNIX的。它们都继承了UNIX的许多特性和设计理念。因此,它们的高级I/O技术确实是建立在UNIX基础之上的。Linux和macOS都提供了丰富的高级I/O功能和API,利用了UNIX系统调用和原则。这些功能包括非阻塞I…

【Linux】自定义协议——实现网络序列化和反序列化

欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:题目解析 🌎推荐文章:承接上文内容【Linux】应用层协议序列化和反序列化 目录 👉🏻代码实现如下Calculate.hp…

C语言-联合体基本概念

联合体的外在形式跟结构体非常类似,但它们有一个本质的区别:结构体中的各个成员是各自独立的,而联合体中的各个成员却共用同一块内存,因此联合体也称为共用体。 联合体内部成员的这种特殊的“堆叠”效果,使得联合体有如…

Ollama完成本地模型的运行

Ollama完成本地模型的运行 llama 3 8b很多pc都可以run起来,可以用这个练练手 简介 Ollama 是一个开源的大型语言模型(LLM)服务工具,它允许用户在本地运行和使用各种大型语言模型。Ollama 提供了一个命令行界面,支持多种流行的模型,如 Llama 3、Qwen 1.5、Mixtral、Gemma…

MapMagic 2 Biomes and Functions

MapMagic 2(免费)世界生成器官方模块。支持基于遮罩混合几个图形,从而可以在无限地形上混合不同的生物群落。也随附函数节点,从而可以在子图中执行复杂的生成过程。将它们视作含有输入和输出连接器的生物群落。请注意,必须使用 MapMagic 2 的现有安装才能使用该模块。 下…

(一)JVM实战——jvm的组成部分详解

前言 本节内容是关于java虚拟机JVM组成部分的介绍,通过其组成架构图了解JVM的主要组成部分。 正文 ClassFile:字节码文件 - javac:javac前端编译器将源代码编译成符合jvm规范的.class文件,即字节码文件 - class文件的结构组成&a…

数据变更捕获 (CDC):PostgreSQL 与 ClickHouse - 第一部分

本文字数:13442;估计阅读时间:34 分钟 审校:庄晓东(魏庄) 本文在公众号【ClickHouseInc】首发 简介 在之前的文章中,我们已经讨论了OLTP数据库(例如Postgres)和OLAP数据…

【go零基础】go-zero从零基础学习到实战教程 - 1项目表设计

既然是0基础,现在来写下设计思路,因为go-zero是个微服务架构,所以,哪怕是0基础,也从两个服务模块开始写起。 我们的目标是:最小可用微服务架构最佳实践! 好了,饼画完了。 第0部分写到…

504网关超时可能是哪些原因导致

当前随时互联网的发展普及,我们经常会使用到网站服务,许多网站为了提高打开速度,都会接入使用CDN。当我们在浏览网页或使用网络服务时,有时候可能有遇到网站打不开的情况,出现各式各样的错误代码,其中504网…