博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jmeter 多线程组间变量共享
阅读量:5055 次
发布时间:2019-06-12

本文共 916 字,大约阅读时间需要 3 分钟。

jmeter的线程组之间是相互独立的,各个线程组互不影响,所以线程组A中输出的参数,是无法直接在线程组B中被调用的。

但是有时为了方便管理,我们可能是把各个接口单独存放在不同的线程组中。拿Cookie来说,虽然每一个线程组中我们也可以在放一个登录请求,然后输出一个Cookie供此线程组使用,但这样就比较繁琐且冗余。此时我们就可以使用跨线程组传递参数来解决这样的问题 ;

思路:将某一线程组内的变量通过“__setProperty”函数设置成jmeter的全局变量,在另一线程组中通过“${__P(parameters,)}”函数调用即可。

说明:jmeter本身的内置函数中,“__setProperty ” (${__setProperty(newtoken,${cookieKey},)})函数可以把某参数的值设置成jmeter本身的内置属性,而jmeter的内置属性是所有线程组都可以调用的,是全局变量。各个线程组调用时,只需使用调用jmeter属性的函数“${__P(parameters,)}”来调用相应的属性即可。

1.在http请求下添加正则表达式提取器 :

2.在请求下再添加Bean Shell PostProcessor(bean shell后置处理器) ;

Parametres:把需要操作的参数传递给Bean Shell PostProcessor。前面提取出来的cookie的值,就把参数cookie写入

Script:  string cookie=bsh.args[0];     把Bean Shell PostProcessor接收到的参数值,赋值给某参数。0是第一个值。

                 ${__setProperty(newcookie,${cookie},)};        调用函数__setProperty,把Bean Shell PostProcessor中的参数cookie的值赋值给newcookie,并设置newcookie为jmeter内置属性。

2.其他线程组中引用----${__P(newcookie,)}

 

 

 
 

转载于:https://www.cnblogs.com/a00ium/p/10360540.html

你可能感兴趣的文章
leetcode 71. 简化路径(Simplify Path)
查看>>
leetcode 892. 三维形体的表面积(Surface Area of 3D Shapes)
查看>>
[翻译]各个类型的IO - 阻塞, 非阻塞,多路复用和异步
查看>>
C# 类的序列化和反序列化
查看>>
(转)跟我一起写MAKEFILE
查看>>
Linux内存段的分析
查看>>
网卡启动问题
查看>>
Ruby元编程:单元测试框架如何找到测试用例
查看>>
[FJOI2016]神秘数(脑洞+可持久化)
查看>>
android配置开发环境
查看>>
PhpStorm本地断点调试
查看>>
Snow Boots I
查看>>
HDU - 1796 How many integers can you find (容斥原理)
查看>>
Hexo里如何添加广告
查看>>
数据结构与算法--归并排序
查看>>
Comparable和Comparator的区别
查看>>
《C++中线程安全并且高效的singleton》
查看>>
ado.net(1)
查看>>
NUnit+mock+moq单元测试
查看>>
Telnet协议
查看>>