如何扩展Jmeter Http Sampler以在请求中注入auth令牌?

时间:2015-05-21 06:24:45

标签: java jmeter beanshell

我的要求是我需要在请求体中选择两个http头和几个json字段,并使用这些值使用Base64加密生成一个auth令牌,并在Jmeter向服务器发出HTTP请求之前将auth Token设置为请求体。

如何在JMeter中执行此操作?

我尝试在JMeter中创建自定义函数,但在Function类中,当前Sampler对象为null。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我相信Beanshell PreProcessor是您正在寻找的

  • 访问请求标头:

    sampler.getHeaderManager().get(0); // first header
    sampler.getHeaderManager().get(1); // second header
    
  • 访问请求正文:

    sampler.getArguments().getArgument(0).getValue();
    
  • Base64编码:

    import org.apache.jmeter.protocol.http.util.Base64Encoder;
    String encoded = Base64Encoder.encode("source");
    

有关JMeter中Beanshell脚本编写的更多信息,请参阅How to use BeanShell: JMeter's favorite built-in component指南。