【问题标题】:Jmeter 401 failure on POST with json recorded using recording controller使用记录控制器记录 json 的 POST 上的 Jmeter 401 失败
【发布时间】:2014-07-08 13:36:45
【问题描述】:

我使用 JMeter 中的记录控制器和 HTTP 脚本记录器在网页上记录了操作。对于 JMeter 记录的 POST 命令之一,当 JMeter 记录我在我所在的网页上按下“发送”按钮的操作时,它会将 json 放入“请求中的发送参数”字段中。然后,我将记录在 Recording Controller 下的网页点击量移到我在 JMeter 中的测试用例下。然后,我用这些新记录的 http 请求(包括在“请求中的发送参数”下填充了 json 的那个)运行了测试用例。大多数网页点击都在 JMeter 中正确模拟,并且在摘要报告中不会失败,因为它们在摘要报告中的错误率为 0%。这包括对网站的“登录”。但是,登录成功后,当在 JMeter 中模拟“发送”按钮时,我在 Summary Report 中看到 100% Error,测试用例停止运行,此后没有模拟其他 http 请求。基本上,即使我的测试用例中有更多 JMeter 可以运行,JMeter 也会停在那里。

所以,我搜索了一下,发现可能需要提取json。但是,从 JMeter 之前使用 Recording Controller 记录我的操作时,JMeter 似乎已经将 json 放在“在请求中发送参数”中。

  1. JMeter 在记录我的操作时放入的 json 是否不正确或格式不正确?

  2. 如果格式不正确,我从哪里获取 json?在这个失败的 POST 命令出现 401 错误之前,我在测试用例的任何部分都看不到 json。就像我说的,看起来 JMeter 只知道这个 json 并将其放入那个 POST 命令中。

  3. 当我发现 json 来自哪里时,如何使用 json 提取器?更具体地说,我需要构建相同的 json 字符串,还是需要将部分 json 输入变量并使用 POST 命令发送变量?如果这是真的,我怎么知道要发送哪些变量?这是我检查查看结果树的地方吗? (我是在“Sampler Result”、“Request”还是“Response Data”下查看?)

【问题讨论】:

    标签: json jmeter


    【解决方案1】:

    所以,我实际上更多地关注 401 错误,这是一个授权错误。在上一篇文章中硬编码的用户现在由于不同的原因不再在数据库中。因此,一旦我将用户更改为存在的用户,401 错误就消失了。

    所以,回到最初为未来研究人员准备的 json。就我而言,记录控制器一直在正确记录 json。我没有对任何 json 进行任何更改。一旦我有了一个有效的用户,我就能在“响应数据”下看到返回给我的 json。当我在查看“查看结果树”时看到此 POST 命令的“响应数据”下的 json 时,一切对我来说都是有意义的,因为我从服务器收到了返回的内容。

    【讨论】:

      最近更新 更多