通过前4节的实战,基本的脚本已经可以跑通,假设在yfsx.csv文件里设置了以下待查询的地址

我们需要一次得到最终的时效结果,在执行时要如何设置?
先来看下我们的csv元件的配置信息

1)设置线程组的循环次数为5,执行后再结果树中查看时发现同一个线程循环了5次,每一次从csv文件中取下一行的值,当读取到csv文件结尾时再从头开始取,所以就会看到第5次循环时重新取了csv文件中第一行数据,这是由于在csv data set config中Recycle on EOF:True,意思为结尾时是否需要重新开始,true表示是,false表示否


2)同样将循环次数设置为5,将Recycle on EOF:false,执行后发现仍然执行了5次,最后一次的循环代入了<EOF>,这并不是我们想要的,我们期望是有几行就执行几次

再来看看CSV Data Set Config中还有一个选项,遇到结尾时是否停止,将其设置为stop thread on eof :True,再次执行,可见执行4次就结束了。


所以当循环次数设置的大于csv文件的行数时,如果期望只执行csv文件的行数,那么设置是这两个选项需同时设置

3)设置线程数为5时,

最终是4个线程在执行

4)当设置线程数5,

最终执行时5个线程,最后一个线程取值从csv文件首行开始,意味着当recycle on eof设置为TRUE时,stop thread on eof无效。

5)当设置线程5,
![]()
第5个线程到结尾时执行

总结下:
1)当csv data set config中Recycle on EOF:True,Stop Thread on EOF:False/True , 参数取值到结尾时都会从头开始
2)当csv data set config中Recycle on EOF:False,Stop Thread on EOF:True,参数取值到结尾时线程就停止
3)当csv data set config中Recycle on EOF:False,Stop Thread on EOF:False,参数取值到结尾时就传<eof>,所以这种方式不用
-------------------------------------------------------------------------------
如果觉得我的文章对您有用,请收藏+关注,您的支持是我坚持的动力!
本文探讨了使用JMeter进行性能测试时,针对CSV数据源的有效配置方法。具体包括如何根据线程组的循环次数及线程数设置CSV数据集元件,确保每次循环都能正确获取数据,避免循环结束后的重复或终止问题。
277

被折叠的 条评论
为什么被折叠?



