JMeter WebSocket插件-关闭SignalR连接
我有一个网站使用Asp.NET Core SignalR从服务器动态加载数据。
我在此页面上使用JMeter进行功能测试。我使用1.2.1版中的WebSocket采样器插件来测试SignalR功能。
遵循有关如何将JMeter与WebSocket采样器插件一起使用的blazemeter教程之后,在尝试关闭SignalR连接时,总会出现错误。
我的JMeter采样器设置如下:
- WebSocket打开连接
- WebSocket请求-响应采样器
- WebSocket单读采样器
- WebSocket关闭
为了关闭连接,我使用称为的WebSocket采样器WebSocket Close
。此采样器允许提供一个Close status
。
我尝试提供不同的Close status
代码。但实际上未确认所有提供的代码,并且始终返回错误消息:
响应代码:WebSocket错误:关闭失败。
响应消息:WebSocket错误:收到的不是封闭框架,而是包含文本的文本框架…
如何在JMeter中正确关闭此连接?
我发现这取决于我使用多少个采样器。如果我在读采样器之前使用写采样器,则关闭似乎有效。喜欢:
- WebSocket打开连接
- WebSocket请求-响应采样器
- WebSocket单读采样器
- WebSocket单写采样器
- WebSocket关闭
但是,如果我想拥有一个以上的读取采样器,它将不起作用。知道如何正确使用多重读取采样器吗?
我已经阅读了插件文档,并在此处检查了示例JMeter文件。不幸的是,到目前为止,我还没有找到具有多个Read
Samplers的更大样本。
回答:
可能正在发生的事情是您的服务器发送了一些文本消息,而您的JMeter测试脚本未读取该消息。这些消息被缓冲,当您关闭WebSocket连接时,“关闭采样器”首先读取这些文本消息之一并返回错误。
有一个更改请求,用于增强“ Close
Sampler”(关闭采样器),并带有忽略此类缓冲区结束消息的选项。暂时,您可以通过将文本框过滤器与封闭采样器结合使用来实现相同目的;请参阅示例目录中的“使用filter sample.jmx智能关闭”示例。
以上是 JMeter WebSocket插件-关闭SignalR连接 的全部内容, 来源链接: utcz.com/qa/417369.html