我有一个JMeter脚本,使用“ Peter Doornbosch的WebSocket Samplers”插件(websocket请求-响应采样器)来执行一些websocket请求。当我的请求-响应采样器发送请求时,我使用ping / pong框架过滤器自动响应pong。只要我对请求-响应websocket采样器执行某些操作,此方法就可以正常工作。
现在,我想在脚本中暂停一下(例如,恒定计时器),该暂停只是等待,但仍可以应答正在运行的Ping,以保持websocket连接的活动(例如,持续10分钟),而无需执行其他操作(不响应Ping)采样器或请求)。
非常感谢您!
答案 0 :(得分:2)
您可以插入具有较长读取超时时间(例如您提到的10分钟)的“单次读取采样器”,而不是固定计时器。选中“可选读取”复选框,以避免读取超时产生错误。像以前一样,将其与“乒乓球过滤器”结合使用;与“单次读取采样器”结合使用将使过滤器完成其工作。
答案 1 :(得分:1)
在JMeter WebSocket Samplers repository中,您可以找到示例测试计划所在的samples
文件夹。
关于您自己的问题-请unsolicited pong.jmx
感兴趣两个示例都依赖于重新使用现有的WebSocket连接并定期循环查询更新。可以使用Loop Controller或While Controller来实现循环,在后一种情况下,您可以有条件地中断循环。