JMeter:CSV数据集配置;在每次测试迭代开始时读取行它到底应该如何工作?
我关心的是如何使用和设置JMeterJMeter:CSV数据集配置;在每次测试迭代开始时读取行它到底应该如何工作?,jmeter,Jmeter,我关心的是如何使用和设置JMeterJMeter规则 因为据说“在每次测试迭代开始时读取行”。起初,我认为这是关于线程的,然后我阅读了配置放在循环中的位置控制器,并且每次循环迭代都会读取行。我已经用now 5.1.1进行了测试,它可以正常工作。但若我把config放在测试计划的根目录下,那个么in将只在每个线程迭代中读取新行。我是否可以期望仅基于文档的这种行为,而不考虑尝试和错误?我看不到它是如何从csv配置元素上的scoping+exec order+文档流出来的。我错过什么了吗 我想知道为什
JMeter
规则
因为据说“在每次测试迭代开始时读取行”。起初,我认为这是关于线程的,然后我阅读了配置放在循环中的位置控制器
,并且每次循环迭代都会读取行。我已经用now 5.1.1进行了测试,它可以正常工作。但若我把config
放在测试计划的根目录下,那个么in将只在每个线程
迭代中读取新行。我是否可以期望仅基于文档的这种行为,而不考虑尝试和错误?我看不到它是如何从csv配置元素
上的scoping
+exec order
+文档流出来的。我错过什么了吗
我想知道为什么这样的实际行为是方便的,为什么功能是以这种方式实现的
另外,如何在测试开始时将一行cvs读取到VAR,然后停止运行该配置以节省CPU时间?在2.x版本中,有一个配置
其中包含一个隐式:
一旦事件发生,CSV中的下一行将立即被读取,无论其来源如何
使用CSV数据集配置是安全的,因为它不会将整个文件保存在内存中,它只在前面提到的iterationStart()
事件发生时读取下一行。然而,它保持着开放性。如果您确实有很多RAM,但没有足够的文件句柄,您可以在测试开始时使用以下代码将文件读入内存
SampleResult.setIgnore()
new File('/path/to/csv/file').readLines().eachWithIndex { line, index ->
props.put('line_' + (index + 1), line)
}
完成后,您将能够使用as${{{{u p(line_1,)}
引用第一行,使用as${{u p(line_2,)}
引用第二行