缺少样本的请求数据

时间:2015-09-03 10:01:18

标签: jmeter

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

var details;
var agencyChanged = function(e) {
  details.hide();
  var id = $(this).find(':selected').data('id');
  if (id) $('#' + id).show();
};
$(function() {
  details = $('div.details');
  $('#AgencyDetails').on('change keyup', agencyChanged).trigger('change');
});

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

对于我的测试,GET请求有更多特定的用户信息,我想分析哪些GET请求导致500等错误。

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

1 个答案:

答案 0 :(得分:1)

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

  1. 添加Beanshell侦听器,以便所有“有趣”请求都在其范围内(相同级别或更高级别)
  2. 将以下代码放入监听器的“脚本”区域:

    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,饼干,查询,数据,FOO,酒吧等

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

    参考文献: