JMeter - Api GET Request - Response says: No known way to render data, 虽然状态代码是 200

JMeter - Api GET Request - Response says: No known way to render data, Status Code is 200 though

执行 returns 一个 JSON 响应的 GET 请求。 JMeter 正在获取 Statua 代码 200,但在响应中,它说:找不到呈现数据的方法。 我在 POSTMAN 中尝试了相同的请求,它工作正常。

我们没有足够的心灵感应来说明为什么 Postman 中的请求有效而 JMeter 中的请求无效,一般来说答案是:你没有发送相同的请求.

仔细检查以下内容:

  1. 请求URL, if request parameters have some non-ASCII data it needs to be url-encoded
  2. 请求headers, in particular Content-Type. In JMeter request headers can be added/modified using HTTP Header Manager
  3. 请求正文(如果有),再次encoding可能非常重要

一般来说,如果您的请求在 Postman 中有效,您可以使用 JMeter 的 HTTP(S) Test Script Recorder

记录它
  1. 启动 JMeter 的 HTTP(S) 测试脚本记录器
  2. Configure Postman to use JMeter as the proxy

  3. 运行 您在 Postman 中的请求
  4. 就是这样,JMeter 应该捕获 Recording Controller
  5. 下的请求

与 Postman 和 JMeter 请求相比。 Postman 在没有通过 Accept 和 Cache-Control headers 的情况下工作,但 Jmeter 需要它。 在 headers 中添加这 2 个后,我开始收到回复。我更改了几个 JMeter 属性以避免检查响应大小检查。

对我来说,它在请求 header 中添加以下内容后开始工作。特别接受属性。

  "Accept": "application/json, text/javascript, */*; q=0.01",

  "Content-Type": "application/json; charset=UTF-8",