我使用JMeter中的录制控制器和HTTP脚本录制器在网页上录制了操作。对于JMeter记录的其中一个POST命令,当JMeter记录我按下我所在网页上的“发送”按钮的操作时,将json放入“在请求中发送参数”字段。然后,我将记录控制器下记录的网页命中,并在JMeter中的测试用例下移动。然后,我运行测试用例,使用这些新记录的http请求(包括在“请求中发送参数”下的json填充int的请求)。大多数网页命中都在JMeter中正确模拟,并且在摘要报告中不会失败,因为它们在摘要报告中有0%的错误。这包括“登录”网站。但是,在成功登录后,当在JMeter中模拟“发送”按钮时,我在摘要报告中看到100%错误,测试用例停止在那里运行,并且此点之后没有其他http请求被模拟。基本上,即使我的测试用例中有更多JMeter可以运行,JMeter也会停在那里。
所以,我搜索并发现我可能需要提取json。但是,当JMeter之前使用录音控制器录制我的动作时,看起来json已经在JMeter的“请求中发送参数”中放置了json。
当记录我的行为不正确或形式不正确时,JMeter放在那里的json是什么?
如果格式不正确,我从哪里获取json?在这个带有401错误的POST命令失败之前,我没有在我的测试用例的任何部分看到json。就像我说的,似乎JMeter只知道这个json并把它放入POST命令。
当我确实知道json的来源时,我该如何使用json提取器?更具体地说,我是否需要构建相同的json字符串或者是否需要将部分json提供给变量并使用POST命令发送变量?如果是这样,我怎么知道要发送什么变量?这是我检查查看结果树的地方吗? (我会查看“采样器结果”,“请求”或“响应数据”吗?)
答案 0 :(得分:0)
所以,我实际上更关注401错误,这是一个授权错误。现在,由于其他原因,在先前帖子中硬编码的用户不再在数据库中。因此,一旦我将用户更改为存在的用户,401错误就会消失。
所以,回到json,这最初是针对未来的研究人员。在我的情况下,录音控制器一直在正确录制json。我没有改变任何json。一旦我有了一个有效的用户,我就能看到json在"响应数据"下返回给我。一旦我看到json"响应数据"对于这个POST命令,在查看"查看结果树"时,一切都对我有意义,因为我从服务器收到了一些东西。