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

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

函数__setProperty:

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

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

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

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

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

设置BeanShell PostProcessor ,内容如下:

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

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 引言 这估计是目前国内能找到的相对比较全面的JMeter自动化测试介绍了吧。希望能给予您一点帮助。 1.1 J...
    __yanyan阅读 15,734评论 1 45
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,099评论 19 139
  • 晚风清凉,一丝柔美的光线照在了一尊雕塑上。那是断臂的维纳斯。 一群鸽子飞来,三五成群,咕咕咕咕的聊起了天。 大肚皮...
    虚度老太婆阅读 434评论 0 0
  • 我不想活了 我只想你 于是我不想死 ——《人生中突然不想死的时刻》
    段童阅读 243评论 0 2
  • 穷跟钱这个问题一直是朋友圈,社交群经久不衰的话题,连现实生活中的朋友聚会也逃不过这个话题。 朋友跟我说,马上就要交...
    风香满川阅读 785评论 0 2