负载测试:Web Tours 中的航班预订未使用 JMeter 中记录的脚本进行存储

问题描述 投票:0回答:1

我正在练习负载测试并尝试 JMeter。作为示例应用程序,我使用 Web Tours。我记录了进行航班预订的步骤,对用户会话进行了关联,并添加了一些响应断言以确保我从服务器获得正确的答案。 When I replay the script, it seems to work fine.

但是当我进入应用程序并查看行程时,它是空的。 So there is no booking done.

当我尝试在 Web Tours 管理页面中激活错误行为时,存在类似的行为(例如,将模拟负载问题的服务器概率设置为 100%)。当我手动测试应用程序时,我收到了预期的错误 (http 503)。当我重播脚本时,每个步骤都以 http 200 结束。 我录制的另一个将用户添加到应用程序的脚本工作正常。当我重播时会添加用户。

你知道我做错了什么吗?

jmeter performance-testing load-testing
1个回答
0
投票

获取 HTTP 状态代码 200 并不一定意味着您的测试正在执行其应该执行的操作。

我建议使用JMeter Assertion添加另一层通过/失败标准,特别是Response Assertion来检查服务器的响应是否包含预期值和/或不包含错误。

因此,首先确保您可以成功创建预订,然后使用浏览器找到它,因为如果不能,则可能是被测系统的预期行为或存在功能缺陷。在这种情况下,从 JMeter 的角度来看,您无能为力。

如果您可以使用真实浏览器创建预留,使用FiddlerWireshark等嗅探器工具比较来自JMeter和来自真实浏览器的请求,则请求需要完全相同(除了动态参数需要相关)。一旦您修改 JMeter 配置以发送与真实浏览器相同的请求,您应该会得到相同的行为。

而且看起来你已经记录了一些图像,这不是你应该做的事情,因为真正的浏览器使用并发线程池下载图像、脚本、样式等,在你的情况下,你是按顺序获取它们并且它完全生成不同的网络足迹。您应该删除这些请求并配置 JMeter 以使用 HTTP 请求默认值

获取嵌入资源

© www.soinside.com 2019 - 2024. All rights reserved.