如何在Jmeter摘要报告的标签中包含参数

时间:2015-08-06 19:04:42

标签: jmeter

我可以在jmeter中成功创建摘要报告,但在标签栏中我需要完整的get请求以及传递的参数。我没有在url中传递参数。

1 个答案:

答案 0 :(得分:5)

您可以在Beanshell脚本编写的帮助下自动填充它。

示例:

  1. Beanshell PostProcessor添加为HTTP请求的子项
  2. 将以下代码放入PostProcessor"脚本"面积:

    import org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy;
    import org.apache.jmeter.config.Arguments;
    import org.apache.jmeter.testelement.property.PropertyIterator;
    import org.apache.jmeter.testelement.property.JMeterProperty;
    
    HTTPSamplerProxy sampler = (HTTPSamplerProxy) ctx.getCurrentSampler();
    StringBuilder builder = new StringBuilder();
    builder.append(sampler.getUrl());
    Arguments args = sampler.getArguments();
    
    PropertyIterator iter = args.iterator();
    
    while (iter.hasNext()) {        
          builder.append (iter.next().getStringValue());          
    }
    
    prev.setSampleLabel(builder.toString());
    
  3. 运行测试。
  4. 代码提取URL和所有参数及其值,并使用以下值更新父采样器名称:

    Sampler Name Change Demo

    您可以看到HTTP Request成为http://example.com/foo=bar

    您可以将PostProcessor置于与HTTP请求采样器相同的级别,以避免多次复制粘贴或使用Beanshell ListenerBeanshell Assertion代替。

    有关在JMeter中使用脚本的全面信息,请参阅How to use BeanShell: JMeter's favorite built-in component指南,了解ctxprev等所有内容。