缺少有关失败样本的请求数据

Missing Request data on failed samples

我正在使用 Jmeter 2.12 并使用以下属性集执行测试 -

-Jjmeter.save.saveservice.output_format=xml \
-Jjmeter.save.saveservice.response_data.on_error=true \

当出现故障时,我可以在树中的“查看结果”中的“响应数据”选项卡下看到信息,如 - 500、404 或任何其他错误 但请求选项卡只显示 "GET",没有更多信息。

对于我的测试,GET 请求有更具体的用户信息,我想分析这些信息以找出哪些 GET 请求导致了 500 等错误。

我没有看到任何 属性 - Jjmeter.save.saveservice.request.on_error 并且我不想保存所有数据,因为它会变得很大。 我错过了什么设置吗?

您可以将sample_variables 属性 与Beanshell Listener 结合使用,以获取仅在主.jtl 结果文件中为失败请求存储的请求数据,如下所示:

  1. 添加 Beanshell Listener 以便所有 "interesting" 请求都在其范围内(相同级别或更高级别)
  2. 将以下代码放入监听器的"Script"区域:

    if (!sampleResult.isSuccessful()) {
        vars.put("url", sampleResult.getUrlAsString());
        vars.put("cookies", sampleResult.getCookies());
        vars.put("query", sampleResult.getQueryString());
        vars.put("data", sampleResult.getSamplerData());
        //etc.
    }
    
    else {
        //clean up old values
        vars.remove("url");
        vars.remove("cookies");
        vars.remove("query");
        vars.remove("data");
    }
    
  3. 将以下行添加到 user.properties 文件:

    sample_variables=url,cookies,query,data,foo,bar,etc

下次 运行 测试时,您将在 .jtl 结果文件中看到所需的请求详细信息。

参考文献: