通过前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>,所以这种方式不用
-------------------------------------------------------------------------------
如果觉得我的文章对您有用,请收藏+关注,您的支持是我坚持的动力!