【问题标题】:jmeter restful api get connection close , bad request and warning at reportjmeter restful api在报告中获取连接关闭、错误请求和警告
【发布时间】:2020-03-26 09:14:59
【问题描述】:

我尝试使用 Jmeter 运行一个简单的 GET API 查询。但警告总是返回。

结果的 URI 是正确的。

我不确定还有什么问题,请告知缺少什么。

在树报告请求正文中,我认为 GET 端点正确

GET http://localhost:8015/api/items/drug

GET data:


[no cookies]

在树报告请求头:

Connection: keep-alive
: 
: 
Host: localhost:8015
User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_231)

响应数据,响应头

HTTP/1.1 400 Bad Request
Connection: close
Date: Thu, 26 Mar 2020 08:49:28 GMT
Server: Kestrel
Content-Length: 0

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    根据400 Bad Request描述:

    超文本传输​​协议 (HTTP) 400 Bad Request 响应状态代码表示服务器不能或不会处理请求,因为某些原因被认为是客户端错误(例如,格式错误的请求语法、无效的请求消息帧、或欺骗性的请求路由)。

    客户端不应未经修改重复此请求。

    这意味着您发送的请求在语法上不正确,请查看您的应用程序日志,它可能包含有助于深入了解问题的详细信息。

    很可能由于缺少request headers,很可能是Accept 和/或Content-Type 而导致错误。可以使用HTTP Header Manager

    传递标头

    【讨论】:

    • GET 端点不需要任何标头,我使用的是不需要定义标头的 POSTMAN。 jmeter需要特别配置吗? GET 的标题应该是什么?我很快在标头管理器中添加了 Accept application/json,同样的警告错误请求。
    • 您的脚本中很可能有错字,即 URL 中的空格字符或类似的东西,除非我看到完整的测试计划,否则无法确定
    • 不。我将结果复制到 jmeter URI 并粘贴到浏览器,它可以工作。这只是简单的 ENDPOINT,没什么特别的,我会弄错。我怀疑jmeter需要手动配置。它不像邮递员那样简单。在 stackoverflow 中搜索这个错误,很多人问了同样的问题,但没有解决方案。所以 jmeter 不是测试负载 API 的合适工具?
    • JMeter 能够发送与 Postman 或真实浏览器相同的 HTTP 请求,生成请求的最简单方法是使用 HTTP(S) Test Script Recorder 或 JMeter Chrome Extension 记录它
    【解决方案2】:

    我通过简单地删除 HTTP 管理器来解决它。 那么现在我得到了绿色的结果。

    不知道为什么。我会探索更多。 因此,如果有人看到相同的内容,请尽量不要使用 HTTP 管理器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多