jMeter如何重新执行CSV数据集配置



使用jMeter设置一个浸泡/负载测试,该测试需要使用不同的数据运行每个请求。我目前的结构是

Thread Group (2 Users, 2 Loops)
- Simple controller
-- Java Sampler (Custom Plugin) to convert CSV Formula data into NewThreadData.csv (as variable)
-- Java Sampler (Custom Plugin) to create directory of files created with NewThreadData.csv merged into a template
-- While Controller Condition - js NewThreadData column not = EOF
--- CSV Data Set Config NewThreadData.csv (Recycle False / Stop of EOF False) - filename passed as variable
--- JMS PUblisher with the FileName a variable using the filename column from within NewThreadData.csv

我的问题是在第二个循环中,数据在NewThreadData.csv中更新,但while循环中的csv再也没有运行过。

看起来CSV数据集配置";知道";无论实际CSV数据如何,它都已运行。

问题

  • 在这种情况下,如何重新运行/执行CSV数据集配置
  • 是否有未记录的变量或重新处理配置的方法
  • 是否有一种方法可以在每次迭代中生成一个新线程,而不是重复使用现有线程,因为CSV确实为每个"执行一次;用户";[线程]。我还在EOF:True上尝试了Stop,但这停止了第二个循环

目标是最终增加用户数量和循环次数(改为永远(;其中在每个循环上要插入大约100个不同的数据组合。我正在使用的公式具有时间和线程号,以使我的数据唯一性,以及根据公式动态创建的其他数据。EOF上的回收是不可行的,因为我需要在每个循环中重新生成csv内容。我认为一个超级csv不适用于负载和浸泡场景。

期待中的感谢。Andrew

我认为不可能"重置";CSV数据集配置,它是一个配置元素,因此一旦它读取处于其当前状态的文件;棒;根据其内容。

如果你动态地操作文件内容,我建议你使用__CSVRead((函数,它在运行时只在它所在的位置进行评估,因此它不会保留文件;倒带";当读取最后一行时,返回到文件的开头。

更多信息:如何在JMeter运行时中选择不同的CSV文件

CSV数据集配置元素首先执行,并且只执行一次,即使您已将其放置在while控制器中。因此,CSV数据集配置元素不适合您的要求。

您可以使用JSSR223预处理器使用支持的编程语言/脚本(Java、Groovy(处理动态CSV文件

最新更新