【问题标题】:Handling the two different “HTTP Request Defaults” values in JMeter在 JMeter 中处理两个不同的“HTTP 请求默认值”值
【发布时间】:2019-10-05 17:26:16
【问题描述】:

我目前正在进行性能测试,并且要求与以下问题 Ignoring-HTTP-Request-Defaults 类似(90%)

场景 - 总共 200 个 HTTPs 请求:

  1. 150 个 HTTPs 请求应使用代理、端口、用户名和密码运行。
  2. 50 个 HTTPs 请求应该在没有代理、端口、用户名和密码的情况下运行。

为了满足这一要求,我在项目级别创建了一个“HTTP 请求默认值”配置元素(带有代理身份验证详细信息),并为每个 50 个 HTTPs 请求创建了 50 个单独的“HTTP 请求默认值”(没有代理身份验证详细信息)。

HTTP 请求默认层次结构截图:

因此,超过 50 个 HTTPs 请求采样器(没有代理身份验证)因以下错误消息而失败,因为它没有覆盖全局分配的“HTTP 请求默认值”配置元素(使用代理身份验证详细信息)

Response code: Non HTTP response code: org.apache.http.conn.HttpHostConnectException Response message: Non HTTP response message: Connect to proxy.usp.com:8080 [proxy.usp.com/91.195.240.126] failed: Connection timed out: connect

【问题讨论】:

    标签: jmeter performance-testing


    【解决方案1】:
    1. HTTP 请求默认遵循JMeter Scoping Rules
    2. HTTP 请求默认设置为HTTP Request 采样器(或其他 HTTP 请求默认设置)中未设置的字段/设置提供 默认

    因此,如果您在 global 级别设置代理 - 它将应用于*所有**范围内的 HTTP 请求采样器。

    解决方案是通过向需要代理的采样器添加 HTTP 请求默认值来设置代理详细信息。

    您不能通过提供空白值来“覆盖”父 HTTP 请求默认值代理设置,从 JMeter 5.1.1 开始,您只能做相反的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 2018-05-27
      相关资源
      最近更新 更多