不知道各位小伙伴在使用jmeter的参数化时,有没有遇到过以下问题?
明明想让单个线程的所有"使用了同一个随机变量"的请求都使用相同的值,结果每一个请求的随机变量值都是不同的?
明明想让每一个线程的随机变量值都是不同的,却所有线程的随机变量值都是相同的?
……
下面来说一下,如何达到自己想要的效果
第一种:随机变量跟随线程组变化
以下为"一个线程组启动了2个线程"的情况:
第一个线程
第二个线程
可以看到启动了2个线程,并且这两个线程的请求使用的随机变量值是相同的(即变量是跟随着线程组变化,每次启动线程组,随机变量只会生成一次)
那么如何实现?
线程组→添加→配置元件→用户定义的变量
线程组结构如下图:
请求中的参数:
第二种:随机变量跟随请求变化
以下为"一个线程组启动了2个线程,每个线程发送两个请求"的情况:
第一个线程的第一个请求
第一个线程的第二个请求
第二个线程的第一个请求
第二个线程的第二个请求
可以看到,每个请求使用的随机变量的值都是不同的(即随机变量跟随请求变化,有多少个请求随机变量就生成多少次值)
如何实现?
线程组→添加→前置处理器→用户参数
线程组结构如下图:
第三种:随机变量跟随线程变化
以下为"一个线程组启动了2个线程,每个线程发送两个请求"的情况:
第一个线程的第一个请求
第一个线程的第二个请求
第二个线程的第一个请求
第二个线程的第二个请求
可以看到,每单个线程下的所有请求,使用的随机变量值都是相同的(即随机变量跟随线程变化)
如何实现?
线程组→添加→前置处理器→用户参数
(其实就是在用户参数中勾选了"每次迭代更新一次")
线程组结构如下图:
结语:
以上就是我自己在进行参数化时遇到的一些坑从而总结出的经验,如果对你也有帮助的话,可以收藏点个赞,有不对的地方欢迎指出!