引入 while 循环时 Jmeter 不执行第二个循环
Jmeter not performing second loop when a while loop is introduced
我有如下场景,
Post 一个有搜索栏的网页,我必须在其中搜索 5 个不同的字符串。
因此我创建了如下线程组,
线程数:3
迭代次数:2
在脚本中,我包含了一个 while 循环来使用 CSV 配置搜索 5 个字符串(在 csv 文件中添加了 5 个字符串)。
CSV 配置:
在 EOF 上回收:假
在 EOF 上停止线程:True
现在 jmx 只进行 1 次迭代,实际输出如下,
实际输出:
URL 发布:3 位用户 x 1 次迭代 = 3 次点击
搜索命中:3 个用户 x 1 次迭代 x 5 个字符串 = 15 个命中
预期输出:
URL 发射:3x2 = 6 次命中
搜索命中:3x2x5 = 30 次命中
您将无法使用 CSV 数据集配置和 While 控制器实现此目的,请考虑如下修改您的测试计划:
在 "Loop Count" 部分将 While Controller 更改为 Loop Controller and use the following __groovy() 函数:
${__groovy(new File('test.csv').readLines().size() ,)}
不要从 CSV 中引用变量,而是使用 __StringFromFile() 函数,例如:
${__StringFromFile(test.csv,,,)}
只需将 test.csv
替换为您自己的 CSV 文件的完整路径或相对路径,您就可以开始了:
有关使用 JMeter 函数的更多信息:Apache JMeter Functions - An Introduction
我有如下场景, Post 一个有搜索栏的网页,我必须在其中搜索 5 个不同的字符串。
因此我创建了如下线程组, 线程数:3 迭代次数:2
在脚本中,我包含了一个 while 循环来使用 CSV 配置搜索 5 个字符串(在 csv 文件中添加了 5 个字符串)。
CSV 配置: 在 EOF 上回收:假 在 EOF 上停止线程:True
现在 jmx 只进行 1 次迭代,实际输出如下, 实际输出: URL 发布:3 位用户 x 1 次迭代 = 3 次点击 搜索命中:3 个用户 x 1 次迭代 x 5 个字符串 = 15 个命中
预期输出: URL 发射:3x2 = 6 次命中 搜索命中:3x2x5 = 30 次命中
您将无法使用 CSV 数据集配置和 While 控制器实现此目的,请考虑如下修改您的测试计划:
在 "Loop Count" 部分将 While Controller 更改为 Loop Controller and use the following __groovy() 函数:
${__groovy(new File('test.csv').readLines().size() ,)}
不要从 CSV 中引用变量,而是使用 __StringFromFile() 函数,例如:
${__StringFromFile(test.csv,,,)}
只需将
test.csv
替换为您自己的 CSV 文件的完整路径或相对路径,您就可以开始了:
有关使用 JMeter 函数的更多信息:Apache JMeter Functions - An Introduction