对于相同的REST API,没有通过jmeter获得响应,但通过POSTMAN获得了正确响应

时间:2018-09-20 07:34:00

标签: jmeter

我是通过JMeter进行REST API测试的新手。

下面是我遵循的步骤。

我从身份验证API中检索了令牌。

现在,我要检索项目列表。令牌已通过标头传递,参数已通过JMeter请求的正文传递。

运行脚本后,我收到响应代码{ "success": true, "allact": [] }并以 []

require(stats) attach(warpbreaks) by(warpbreaks[, 1:2], tension, summary) by(warpbreaks[, 1], list(wool = wool, tension = tension), summary) by(warpbreaks, tension, function(x) lm(breaks ~ wool, data = x)) ## now suppose we want to extract the coefficients by group tmp <- by(warpbreaks, tension, function(x) lm(breaks ~ wool, data = x)) sapply(tmp, coef) 之间没有数据

如果我通过Postman执行相同的步骤,则第二个API会使用相同的响应代码给出正确的响应

请帮助。我要去哪里错了?

1 个答案:

答案 0 :(得分:1)

对于JMeter和Postman来说,大多数请求可能有所不同,我建议使用WiresharkFiddler之类的嗅探工具捕获它们。一旦识别出差异,您将需要修改JMeter配置以匹配Postman发送的内容。这可能确实很小,也就是说,您忘记添加HTTP Header Manager并将其配置为发送带有Content-Type值的application/json


通常,鉴于您可以在Postman中执行请求,则应该可以使用JMeter的HTTP(S) Test Script Recorder

记录相同的请求
  1. 准备进行记录的JMeter。最简单的方法是通过JMeter Templates Feature

    • 从JMeter的主菜单中选择File - Templates - Recording,然后单击“创建”
    • 打开HTTP(S)测试脚本记录器,然后单击Start

      JMeter Proxy

  2. 准备要在Postman首选项中记录的Postman,打开Proxy标签,并将HTTPHTTPS协议都设置为使用localhost:8888 Postman Proxy
  3. 在邮递员中执行您的请求
  4. JMeter应该在Recording Controller下捕获具有所有相关标头,正确的正文等的请求。