jmeter - 使用 CSV 数据集配置和 EOF 条件的问题

标签 jmeter

我有一个 CSv 数据集配置,我在 while 循环中使用它。我将它放在一个模块中,并在我的测试中多次使用同一个模块。

我的第一个问题是我已经用这个条件设置了 while 循环:

${__javaScript("${data}"!="<EOF>")}

“数据”是我的 csv 文件中的第一列。除了 ${data} 设置为“EOF”并对其执行所有测试的最后一次迭代外,这工作正常。我希望它在此之前停止,而不是在所有测试都运行一次之后停止。

我的另一个问题是当我稍后再次使用这个模块时,${data} 仍然设置为“EOF”并且根本没有运行任何测试。

最佳答案

为了避免这种情况 <EOF>位只是把你的逻辑放在 If Controller 下并使用 "${data}" != "<EOF>"作为“条件”

While Controller + IF

参见 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/

相关文章:

load - 分布式非 GUI 模式下的 Jmeter 2.13 关机问题

csv - 如何使用JMeter编辑CSV文件意味着覆盖CSV中的数据?

jmeter - jmeter 的仪表板报告中的第 90、95 和 99 个 pct 矩阵是什么意思?

linux - 在 Docker Jmeter 中,HTML 报告未生成

jmeter - 如何使用脚本在 Jmeter 容器中设置变量及其值,例如用户参数

jmeter - 我如何在 JMeter 中调用自定义函数

database - 如何在 JMeter-5 中添加 JDBC 请求采样器

java - 无法使用 Java 9 启动 jmeter 3.3

testing - JMeter 与远程服务器

mysql - 如何解释 JMeter 结果和功能