Jmeter的CSV参数化策略

时间:2023-03-09 18:13:08
Jmeter的CSV参数化策略

前提:准备一份csv文件,数字为1-9即可

线程相当于vu,循环相当于迭代

一、所有线程
所有线程共享这一份文件,数据有一个线程拿走了,其他线程就拿不走

例子1:只有1个线程,循环次数2次,那么,按照上面的理解,这个线程组会拥有这个文件的参数,那么,请求1的两个结果为1,2

Jmeter的CSV参数化策略

例子2:那么假如这1个线程内有2个请求,那么结果是怎样的呢?按道理讲是有请求1,2;然后请求1,2;然后结果为:1,1,2,2

Jmeter的CSV参数化策略

例子3:那么再试想一下,如果是2个线程,1次循环,1个请求呢?那么结果应该为1,2

Jmeter的CSV参数化策略

例子4:那么再试想一下,2个线程,1次循环,2个请求呢?那么结果为请求1,2,请求1,2结果为:1,1,2,2

Jmeter的CSV参数化策略

例5:那么2个线程,3个循环,2个请求,结果是怎么样的呢???

应该为1,1,2,2,3,3,4,4,5,5,6,6

Jmeter的CSV参数化策略

终极复杂:2个线程组,每个线程组2个线程,3个循环(先把参数调到20多)

结果会有24个结果:1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12(这里两个请求相当于是一个小的循环控制器了)

Jmeter的CSV参数化策略

二、当前线程组

每一个线程组共享一份CSV文件,假设测试计划3个线程组,意味着这3个线程组独立的访问CSV文件,互不干扰,线程组内,是所有线程的模式。例如:3个线程组,每个线程组线程为4,循环2,结果是:12,34,56,78,12,34,56,78,12,34,56,78

Jmeter的CSV参数化策略

三、当前线程

一个线程有一份文件。假设一个线程组内,设置的3个线程,那么意味着这3个线程组独立的去访问这个CSV文件取参数,互不干扰.假说说设置线程3,循环2,那么结果为1,2,1,2,1,2。三个线程独立去取文件的参数。

终极例子:2个线程组,2个线程,3个循环,2个请求

结果:11,22,33,11,22,33

结果:一共24个请求:Jmeter的CSV参数化策略