Jmeter的CSV参数化策略

csv参数化也是jmeter最常用参数化方式

#准备一个csv文件,数字1-20即可

#线程组里设置: 线程相当于vu;循环相当于迭代,会重新取值。

#循环控制器:循环控制器从来不改变取到的值,(一个线程多个请求也相当于循环控制器,不会改变取值。)

#csv参数配置

下面开始重点啦!!!线程共享模式的三种方式的理解:

一、所有线程

所有线程共享这一份文件,数据有一个线程拿走了,其他线程就拿不走(就像一个苹果,别人吃一口,你就吃不到那一口了。)

案例一:设置1个线程,2个循环;查看结果树结果为:1、2

案例二:设置2个线程,3个循环;查看结果树结果为:1、2、3、4、5、6

案例三:设置1个线程,循环控制器循环2次,查看结果树结果为:1、1

案例四:设置2个线程,循环控制器循环3次,查看结果树结果为:1、1、1、2、2、2【循环控制器不改变取到的值】

案例五:设置2个线程,循环2次,循环控制器3次,查看结果树结果为:1、1、1、2、2、2、3、3、3、4、4、4

案例六:跨线程组共享csv文件:2个线程组,每个线程组2个线程,3个循环,查看结果树结果为;1-12顺序随机。

这里跨线程组时,可能会出现不规律的结果,这里线程组是一起进行的,哪个线程先获得cpu哪个先执行。

二、当前线程组

每一个线程组共享一份CSV文件,假设测试计划3个线程组,意味着这3个线程组独立的访问CSV文件,每个线程组各用各的,互不干扰,线程组内,是所有线程的模式。

例如:2个线程组,每个线程组线程为2,循环3,循环控制器一次,查看每个线程组的结果都是:1、2、3、4、5、6

 三、当前线程

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

案例:2个线程组,2个线程,3个循环,循环控制器就一次

查看每个线程组的结果树为:1、2、3、1、2、3.....

总共4个线程,每个线程都是一样的取数。

总的查看结果树为:1、1、2、2、3、3、1、1、2、2、3、3

 

posted @ 2019-05-26 23:19  朱砂痣  阅读(719)  评论(0编辑  收藏  举报