【问题标题】:How to wait until I get a specific response in jmeter?如何等到我在 jmeter 中得到特定响应?
【发布时间】:2024-01-14 07:57:01
【问题描述】:

我正在为我的游戏应用程序使用 JMeter 进行负载测试。

首先我通过HTTP请求登录我的应用程序,然后进入游戏(它是一个WebSocket连接)。

我成功点击了 Websocket 并能够发送请求并接收响应。 我正在使用 Peter Doornbosch 的 WebSocket 采样器。WebSocket 请求-响应采样器一次捕获一个响应。

但是在我的应用程序中对于单个请求五个 JSON 响应是由服务器返回的。我需要捕捉这五个响应。所以我使用了 WebSocket 读取采样器。

如果我通过增加线程数来访问那个 WebSocket,那么大多数测试用例都会因为计时器问题而失败。

Jmeter 发送下一个请求而不等待之前的响应。

在我的应用程序中,如果一场比赛结束,则服务器会发送响应。收到后,只有下一个游戏请求必须命中。

但是下一个游戏请求在当前游戏结束之前到达服务器。可以帮我解决这个问题吗????

【问题讨论】:

  • 关于这个问题的任何答案????????

标签: jmeter load-testing


【解决方案1】:

把你的WebSocket read sampler放在While Controller下面,并指定退出while循环的条件(可能是来自JSON Extractor的东西)

Jmeter 发送下一个请求而不等待先前的响应。

此说法不成立,每个线程(虚拟用户)等待当前采样器完成后再启动下一个采样器

【讨论】:

  • 我在读取采样器之前使用了循环控制器。现在我更改了脚本。我在读取采样器之前使用 WebSocket 文本帧过滤器来从服务器获取准确的响应。我会按照你的建议检查 while 循环控制器。非常感谢!
最近更新 更多