【问题标题】:Jmeter: Non HTTP response code: java.net.URISyntaxExceptionJmeter:非 HTTP 响应代码:java.net.URISyntaxException
【发布时间】:2020-02-28 22:46:07
【问题描述】:

当我运行测试计划时;我正在使用 appurl 的参数

appurl: ${_P(appurl,xxx.abcabc.net)}

它适用于所有 HTTP 请求采样器,并获得 200 作为响应代码。 但是,当我尝试使用

来定位任何特定的 DNS 名称时

appurl: ${_P(appurl,ab12c1002032:8443)}

它给了我以下响应: 响应代码:非 HTTP 响应代码:java.net.URISyntaxException 响应消息:非 HTTP 响应消息:索引 9 处的 IPv6 地址格式错误:https://[ab12c1002032]

我注意到的一件事是 DNS 周围有“[]”括号。它会自动出现在 URL 中。

请帮我纠正这个括号问题。

提前致谢。

【问题讨论】:

    标签: jmeter load-testing stress-testing jmeter-5.0


    【解决方案1】:

    HTTP Request 采样器的服务器名称或 IP 字段中只能有 IP addressDNS hostname

    您需要将其拆分为hostnameport,例如:

    ${_P(appHost,xxx.abcabc.net)}
    

    ${_P(appPort,8443)}
    

    或将您的 appurl 属性放入 HTTP 请求采样器的路径部分:

    但是在这种情况下,您可能会遇到某些控制元素(例如 HTTP Cookie Manager)的故障,因此我建议您将 URL 拆分为主机名和端口,如第一张图片所示

    【讨论】:

    • 感谢您的见解。它工作正常,而不是在 appurl 中提供任何东西,拆分 DNS 主机名和端口是有意义且合乎逻辑的。
    【解决方案2】:

    我可以从您的描述中了解到,您不应该在 url 中提供端口号,这就是为什么它说明格式错误的 url。 尝试通过在它应该成功运行的端口号框中提供端口号来运行它。

    【讨论】:

      猜你喜欢
      • 2017-12-06
      • 1970-01-01
      • 2020-03-20
      • 2017-07-12
      • 1970-01-01
      • 2020-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多