首页 > 解决方案 > 使用 PostProcessor 将响应保存到 JMeter 中的文件

问题描述

我尝试使用以下代码在每次迭代中JSR223 PostProcessor保存对文件的响应。CSV

if(${__groovy(ctx.getPreviousResult().getResponseCode(),)} == "200"){
    vars.put("response", prev.getResponseDataAsString());

    String res="${response}";
    FileWriter fstream = new FileWriter("logresult.csv",true);
    fstream.write(res+"\n");
    fstream.close();    
}

我假设应该在与 jmx 相同的文件夹中创建 csv 文件,但执行后它不存在。我在一个线程中执行测试。

标签: groovyjmeterjsr223

解决方案


不要${}在 JSR223 脚本中使用语法作为 JMeter最佳实践的一部分

if(prev.getResponseCode() == "200"){
    String res=prev.getResponseDataAsString();
    vars.put("response", res);
    FileWriter fstream = new FileWriter("logresult.csv",true);
    fstream.write(res+"\n");
    fstream.close();    
}

确保脚本不使用任何变量,${varName}因为缓存仅采用${varName}. 而是使用: vars.get("varName")


推荐阅读