JMeter中的可选HTTP基本身份验证

时间:2017-12-13 11:12:47

标签: authentication jmeter http-basic-authentication

我有一个请求,可以在有或没有身份验证的端点上使用,但在这些情况下响应是不同的。我向/MyService?wsdl之类的路径发送请求。我尝试使用HTTP Authorization ManagerHTTP Request元素添加到此服务的整个网址,但它无效。我确定,用户名和密码是正确的。如何调试身份验证过程?

2 个答案:

答案 0 :(得分:1)

  1. HTTP授权管理器尊重JMeter的Scoping Rules,因此请确保它与HTTP Request采样器位于同一级别,或将其添加为此采样器的子级(在后一种情况下,它将应用于仅此采样器)
  2. 按如下方式配置:

    • 基本URL:协议后跟被测应用程序的IP地址或主机名
    • 用户名:您的用户名
    • 密码:您的密码
    • 机制:BASIC_DIGEST

      enter image description here

  3. 假设一切顺利,您应该会在请求中看到Authorization标题

    JMeter HTTP Authorisation Manager

  4. 有关详细信息,请参阅How to Use HTTP Basic Authentication in JMeter文章。

    替代解决方案是添加HTTP标头管理器并将其配置为发送值为${__base64Encode(username:password,)}的授权标头

    JMeter Header Manager for basic auth

    此方法假定安装了__Base64Encode函数,您可以使用J Meter Plugins Manager

    将其作为Custom JMeter Functions包的一部分获取

    JMeter Plugins Manager - install custom functions

答案 1 :(得分:0)

我建议使用Fiddler这是一个Web调试代理,通过它从JMeter发送请求。您可以配置HTTP Request以使用代理。

确保在请求中发送授权:基本... 标头。

HTTP Authorization Manager应放在线程组的根目录下。然后,您可以指定与每个授权关联的完整请求路径。