在Jmeter中覆盖HTTP授权管理器

时间:2018-10-07 21:50:16

标签: jmeter

我在Jmeter中配置了一个针对HTTP基本身份验证受保护站点的测试。我在顶层配置了HTTP授权管理器,并为此身份验证使用了用户/密码。

在线程中深处有一个http请求(下图中的“获取可配置的产品选项”),我不希望将其发送给Authorization标头:这是一个REST调用,而我发送的是承载Authorization标头。

我为HTTP头管理器分配了此调用,并定义了特定的Authorization头。我想要的只是不发送Basic Auth标头,但是我一生都无法弄清楚该如何做。

如何覆盖此内容,以使HTTP Header Manager设置的Authorization标头覆盖Authorization Manager设置的那个标头?

The 'Get configurable product options' http request needs a different Authorization header to everything else

1 个答案:

答案 0 :(得分:1)

根据documentation用于HTTP授权管理器(JMeter 5.0)

  

如果一个采样器范围内不止一个授权管理器,则当前无法指定要使用哪个授权管理器。

因此,您可以覆盖Authorization标头值的唯一方法是使用HTTP Header Manager

  1. 添加HTTP标头管理器作为子标您要覆盖的标头
  2. 配置如下:

    • 名称:Authorization
    • 值:${__base64Encode(username:password,)}

      用您的真实凭据替换usernamepassword

请记住,__base64Encode()自定义 JMeter函数,如果尚未安装,则需要通过JMeter Plugins Manager

安装