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

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

函数__setProperty:

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

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

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

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

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

设置BeanShell PostProcessor ,内容如下:

${__setProperty(newresult,${result},)}

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

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

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

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

你可能感兴趣的:(JMeter:全局变量___setProperty跨线程传参)