jmeter的线程组之间是相互独立的,各个线程组互不影响,所以线程组A中输出的参数,是无法直接在线程组B中被调用的。但是有时为了方便管理,我们可能是把各个接口单独存放在不同的线程组中。
拿Cookie来说,虽然每一个线程组中我们也可以在放一个登录请求,然后输出一个Cookie供此线程组使用,但这样就比较繁琐且冗余。
此时我们就可以使用跨线程组传递参数来解决这样的问题 :
思路:将某一线程组内的变量通过“__setProperty”函数设置成jmeter的全局变量,在另一线程组中通过 函数${__P(token,)}调用即可。
① 线程组1和线程组2共享一个cookie管理器
image.png
②登录接口返回token信息
image.png
想要做到线程组1和线程组2共享token操作如下:
线程组1中登录接口 通过JSON Extractor提取token的值 取名为token
image.png再通过BeanShell PostProcessor把token放入到Jmeter全局变量中
image.png
由于线程组1和线程组2公用一个Cookie管理器 线程组2下的查询接口就能获取到token的值了
image.png
image.png
完成!
网友评论