Jmeter跨线程组传参
我们知道,同一线程组中可以通过“正则表达式提取器”获取其中一个取样器的响应结果中的参数,直接传给线程组中的其他取样器。但其他线程组中的取样器也想使用同样的参数时,无法直接获取。举个例子:
提取“登录”取样器响应结果中的Token的值——token:
![](http://upload-images.jianshu.io/upload_images/6536777-c7db4ebcf4a0931a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/905/format/webp)
image.png
同一线程组中的取样器和其他线程组中的取样器分别获取token:
![](http://upload-images.jianshu.io/upload_images/6536777-d94f1ff84bf1a51c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
image.png
为了解决以上问题,我们可以采用以下两种跨线程组传参的方式:
方法一:
正则表达式提取器 + BeanShell PostProcessor + BeanShell Sampler 或 BeanShell PreProcessor
修改以上例子:
![](http://upload-images.jianshu.io/upload_images/6536777-1820e368d8e7722b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/912/format/webp)
image.png
![](http://upload-images.jianshu.io/upload_images/6536777-9ab7cb7605adce5b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/761/format/webp)
image.png
![](http://upload-images.jianshu.io/upload_images/6536777-bf5e0adba39fbd6d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/757/format/webp)
image.png
方法二(更简洁,推荐使用):
正则表达式提取器 + BeanShell PostProcessor + _P函数
依然改造“登录”例子:
![](http://upload-images.jianshu.io/upload_images/6536777-9a8b596772156679.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
image.png
![](http://upload-images.jianshu.io/upload_images/6536777-785fba79bba5ea83.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/777/format/webp)
image.png