JMeter:全局变量___setProperty跨线程传参

JMeter:全局变量___setProperty跨线程传参,第1张

在日常接口测试或功能测试过程中,需要把获取到的响应结果,或提取到的某个参数,传递到下一个请求,或者是传递给另外一个线程的请求,这时候就涉及到全局变量的设置,及不同线程如何传参。

${__setProperty(变量名,值} 全局变量赋值

在使用过程中,需要把线程1某个请求返回来的结果,通过正则表达式提取后,设置为全局变量

1、添加--后置处理器 -- 正则表达式

2、使用正则表达式获取第一个线程组得到的响应信息 例如:result

3、添加--后置处理器 -- BeanShell PostProcessor

设置BeanShell PostProcessor ,内容如下:

4、在线程组2中使用_p函数来调用jmeter属性,获取属性值,从而实现跨线程组,参数值传递。

${__P(变量名)} 基本等同于${__property(变量名)}

因此通过__setProperty基本上可以完成全局变量的设置,及后续参数的调用。

5、这种引用关系存在执行的先后顺序,需要在测试计划中设置执行完一个之后,再执行另一个,否则会由于不同线程之间执行时间差,导致参数无法获取到。

1在请求里面添加后置处理器"jp@gc - JSON Path Extractor"

2在"Destination Variable Name"中填入在jmeter中引用的变量

3在"JSONPATH Expression"中填入你需要取出json串中某一个值(例:json串为"{"shortUrl":">

背景:最近回顾Jmeter的功能,重装电脑系统,重新安装一下Jmeter,把容易忘记的小知识记录一下

链接: >

提取码:s7e8

变量名:JAVA_HOME

变量值:JDK安装目录

PATH变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

变量名:JMETER_HOME

变量值:Jmeter安装目录

PATH变量值:%JMETER_HOME%\lib\ext\ApacheJMeter_corejar;%JMETER_HOME%\lib\jorphanjar;%JMETER_HOME%\lib\logkit-20jar;

默认是黑色,如果想要改外观,可以在选项-外观,去选择自己喜欢的主题

定位到Jmeter安装的位置:D:\apache-jmeter-50\bin,找到jmeterproperties

编辑jmeterproperties,找到37行的语言改成language=zh_CN,如果有#注释掉,要删除#才能生效

定位到Jmeter安装的位置:D:\apache-jmeter-50\bin,找到jmeterproperties

编辑jmeterproperties,找到1062行的默认编码改成UTF-8

题主你好,

1我在"用户定义变量"中定义了一个变量叫"NAME",值为"张三":

2正则表达式提取后置处理器的内容设置(其中正则表达式用的和你问题中的一样):

3我在返回的响应文本中加了一句能够匹配的内容:

4在另一个请求的PATH中引用了正则提取器中设置的变量:

5我们看一下此时第二个请求的url是什么:

可以看到路径部分是13111111111,也就是说后置正则提取器成功提取了内容, 这说明正则表达式匹配到了内容,也间接说明了正则中的${NAME}被成功替换成了"张三"

小结: 我的正则提取器部分使用的正则表达式和你的应该是一样的, 但为啥你那边提取不出来,还是我的场景和你的不一样, 欢迎追问

以上就是关于JMeter:全局变量___setProperty跨线程传参全部的内容,包括:JMeter:全局变量___setProperty跨线程传参、jmeter中怎么获取返回结果json、Jmeter的环境变量和首次使用常用配置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9557478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存