jmeter一个线程组下多个csv的应用

一个线程组下,多个CSV文件的总结:说明:1csv中的值为a:5;2csv中的值为b:3
1、CSV在不同的循环控制器下,按照顺序执行(即1csv-1取样器-2csv-2取样器);如1取样器中的${b}获取不到值,因为在执行1取样器时,2csv还没执行,所以获取不到b的值;
2、当1csv对应的循环控制器设置为1,2csv对应的循环控制器设置为2时,执行逻辑为:
执行第一个循环控制器:
读取1csv中的a=5 ,执行1取样器,结果为1:5___${b}
执行第二个循环控制器:
第一次循环:读取2csv中的b=3,执行2取样器,结果为2:5___3(因为a的值没有重新读,也没有变化,所以还是取1取样器中a的值)
第二次循环:读取2csv中的b=(因为csv设置的是遇到文件结束符再次循环为false),执行2取样器,
结果为2:5___eof
 
csv设置的遇到文件结束符停止线程-true,当超出csv数据行数的时候,线程自动停止;如csv有5行数据,循环6次,则第6次时,线程自动停止;
csv设置的遇到文件结束符停止线程-false,循环控制器会一致循环,永远在循环控制器里面执行;
所以我们试算脚本中写的循环永远是不对的,会导致后面的试算无法执行;
 
csv设置的遇到文件结束符再次循环-true,当读取到csv最后一行后,从头开始读csv文件;
csv设置的遇到文件结束符再次循环-false,当读取到csv最后一行后,读取的值为eof;
0
 
 
两个CSV变量名不一样时,b=3 ,a=5;
两个CSV变量名一样时,取其中一个的值
0
 
说明:3csv都是同一个文件名,变量,设置等;
如下图,第一个循环控制器循环2次,第二个循环控制器循环8次;
最终结果是2取样器打印的值是接着1取样器之后的值;
0
 
 
说明:3dsv与4csv是不同的文件名,其他变量什么的都一样;
如下图,第一个循环控制器循环2次,第二个循环控制器循环8次;
最终结果是2取样器打印的值是4csv第一行开始的值;
0
 
 
总结:如果不同的循环控制器的csv文件是一模一样的,jmeter会把这两个文件当成一个文件来运行;
原文地址:https://www.cnblogs.com/lelexiong/p/15693177.html