jmeter - 在每个 while 循环打印重复项的末尾将结果打印到 csv 文件

标签 jmeter

我正在使用 BeanShell PostProcessor 在测试中的每个循环末尾将结果附加到 .csv 文件,但是当我打开该文件时,我发现它附加的条目比循环的条目多。额外的条目是其他行的重复。

FinalCount= vars.get("finalCount");
Loop = vars.get("loop");

f = new FileOutputStream("/tests/results.csv", true);
p = new PrintStream(f); 
this.interpreter.setOut(p); 
print(Loop + "," + FinalCount);
f.close();

最佳答案

发生这种情况的原因可能是:

  • PostProcessor 范围:您将 PostProcessor 放置在错误的位置,因此每个采样器都会触发其执行
  • 最有可能的是:PostProcessor 由每个线程(虚拟用户)执行,并且您希望它只执行一次

我会推荐以下内容:

  1. 将后处理器放置为最后一个采样器的子级
  2. 修改您的代码,以便仅在由第一个线程执行时才会写入一行,例如:

    if (ctx.getThreadNum() == 0) {
    //your code here
    }
    

ctxJMeterContext 的简写类和 getThreadNum()方法返回当前线程的数量。

参见How to Use BeanShell: JMeter's Favorite Built-in Component有关使用的更多信息指南 JMeter API来自 Beanshell 脚本。

关于jmeter - 在每个 while 循环打印重复项的末尾将结果打印到 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36183767/

相关文章:

JMeter 3.0 报告生成 - 为什么我的报告仪表板是空白的?

jmeter - 如何在JMeter中创建多线程

java - 如何使用Webdriver Sampler在jmeter中定义和调用java方法

mysql - JMeter将CSV中的所有记录插入sql数据库

jmeter - 打开最近在 jmeter 中禁用的选项

testing - 即使在服务器关闭后,我的 jmeter 脚本也能成功执行。它不会抛出任何错误并将响应代码作为 200

json - JMeter JSON 路径提取器 - 只需要选择某些 Id

jmeter - 如何在不使用 GUI 的情况下编写 Jmeter 脚本?

performance - Jmeter瓶颈

Maven+jmeter无法识别json路径提取器