我可以在jmeter中的csv数据集配置器中使用可变参数吗

时间:2019-01-21 04:56:28

标签: testing jmeter

enter image description here

这是我的测试计划,其中第一个CVS数据集的配置类似于

enter image description here

第二个CSV数据集的配置就像

enter image description here

我想读取一个包含所有文件名的文件,然后进入每个文件并阅读每一行并形成一个http请求,然后访问服务器。 我不想使用循环控制器,因为就单个文件中的请求而言,我需要并发。

说file1.csv包含10行,等于10个http调用,而我有5个线程,那么这些线程必须同时处理10个调用

1 个答案:

答案 0 :(得分:1)

您不能。根据文档,CSV Data Set ConfigConfiguration Element

  

配置元素可用于设置默认值和变量,以供采样器稍后使用。注意,这些元素在找到它们的范围的开始即在相同范围内的任何采样器之前被处理。

JMeter测试元素execution order如下所示:

0. Configuration elements
1. Pre-Processors
2. Timers
3. Sampler
4. Post-Processors (unless SampleResult is null)
5. Assertions (unless SampleResult is null)
6. Listeners (unless SampleResult is null)

因此,除非执行采样器,并且您在执行任何采样器之前 都将初始化第二个CSV数据集配置,否则您的${file}变量将为null。

如果要动态读取文件中的数据,请考虑使用__StringFromFile()__CSVRead()函数。

在调用函数时会对其进行评估,因此基本上您可以将函数放在脚本中的任何位置。如果需要,请查看How to Pick Different CSV Files at JMeter Runtime文章以了解更多详细信息。