我正在编写一个模拟SSE客户端的JSR223示例。
import com.ssetest.*
String resp="";
EventHandler eventHandler = eventText -> {
log.info(eventText);
resp=resp + eventText + "\n";
SampleResult.setResponseData(resp,"866");
};
SSEClient sseClient = SSEClient.builder().url("http://localhost:3000/sse").eventHandler(eventHandler)
.build();
sseClient.start();
sleep(10000);
sseClient.shutdown();
SampleResult.setResponseCode("200");
我希望能够在消息从服务器发出时看到结果数据选项卡中的输出,而不仅仅是在示例完成执行时。
是否可以在JMeter中实现此行为?
也许使用一个自定义的JSR223侦听器来侦听在我的JSR223采样器中更改的变量?
1条答案
按热度按时间yacmzcpb1#
根据JMeter 5.4. 3,这是不可能的,一旦采样器完成,结果将被发送到GUI、Listeners和.jtl file
如果要在SSE客户端执行期间查看进度,您可以:
OUT.println('something')
将传入消息打印到STDOUTlog.info('something')
将传入的消息打印到jmeter.log您可以查看一下How to Load Test SSE Services with JMeter,了解如何处理
onMessage()
事件,以便打印每个传入消息