我有一个 CSv 数据集配置,我在 while 循环中使用它。我将它放在一个模块中,并在我的测试中多次使用同一个模块。
我的第一个问题是我已经用这个条件设置了 while 循环:
${__javaScript("${data}"!="<EOF>")}
“数据”是我的 csv 文件中的第一列。除了 ${data} 设置为“EOF”并对其执行所有测试的最后一次迭代外,这工作正常。我希望它在此之前停止,而不是在所有测试都运行一次之后停止。
我的另一个问题是当我稍后再次使用这个模块时,${data} 仍然设置为“EOF”并且根本没有运行任何测试。
最佳答案
为了避免这种情况 <EOF>
位只是把你的逻辑放在 If Controller 下并使用 "${data}" != "<EOF>"
作为“条件”
参见 Using the While Controller in JMeter这个和其他常见用例的详细解释指南。
更新。重复使用相同的 CSV 文件:
添加 Beanshell Sampler在第一个 While Controller 之后和第二个 While Controller 之前,并在“脚本”区域中使用以下代码:
import org.apache.jmeter.services.FileServer;
FileServer.getFileServer().closeFile("yourfile.csv");
vars.put("data", "");
上述脚本将“关闭”原始 CSV 文件,以便稍后在脚本中重复使用它并“清除”${data}
变量,因为它包含 <EOF>
值(value)。
参见 How to Use BeanShell: JMeter's Favorite Built-in Component有关在 JMeter 测试中使用 Beanshell 脚本的详细信息的指南。
关于jmeter - 使用 CSV 数据集配置和 EOF 条件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39036597/