JMeter Websocket:如何在计时器时用 pongs 回答传入的 ping?

JMeter Websocket: How to answer incoming pings with pongs while timer?

我有一个 JMeter 脚本使用 "WebSocket Samplers by Peter Doornbosch" 插件(websocket 请求-响应采样器)执行一些 websocket 请求。当我的请求-响应采样器发送请求时,我使用 ping/pong 帧过滤器自动响应带有 pong 的 ping。只要我对请求-响应 websocket 采样器执行一些操作,这就可以正常工作。

现在我想在我的脚本中暂停(例如常量计时器),它只是等待但仍会回答传入的 PING 以保持 websocket 连接处于活动状态(例如 10 分钟)除了回答 ping 之外不做任何其他事情(没有其他采样器或请求)。

非常感谢!

JMeter WebSocket Samplers repository 中,您可以找到 samples 示例测试计划所在的文件夹。

关于您的问题本身 - 选择 unsolicited pong.jmx

您可能还对Single read sample.jmx

感兴趣

这两个示例都依赖于重新使用现有的 WebSocket 连接并在循环中定期查询更新。可以使用 Loop Controller or While Controller 实现循环,在后一种情况下,您可以有条件地中断循环。

您可以插入一个 "single read sampler" 并设置一个较长的读取超时时间(例如您提到的 10 分钟),而不是常量计时器; select "optional read" checkbox 避免读取产生超时错误。像以前一样将它与 "ping/pong frame filter" 结合起来;与 "single read sampler" 的组合将使过滤器发挥作用。