JMeter WebSocket插件-关闭SignalR连接

我有一个网站使用Asp.NET Core SignalR从服务器动态加载数据。

我在此页面上使用JMeter进行功能测试。我使用1.2.1版中的WebSocket采样器插件来测试SignalR功能。

遵循有关如何将JMeter与WebSocket采样器插件一起使用的blazemeter教程之后,在尝试关闭SignalR连接时,总会出现错误。

我的JMeter采样器设置如下:

  1. WebSocket打开连接
  2. WebSocket请求-响应采样器
  3. WebSocket单读采样器
  4. WebSocket关闭

为了关闭连接,我使用称为的WebSocket采样器WebSocket Close。此采样器允许提供一个Close status

我尝试提供不同的Close status代码。但实际上未确认所有提供的代码,并且始终返回错误消息:

响应代码:WebSocket错误:关闭失败。

响应消息:WebSocket错误:收到的不是封闭框架,而是包含文本的文本框架…

如何在JMeter中正确关闭此连接?


我发现这取决于我使用多少个采样器。如果我在读采样器之前使用写采样器,则关闭似乎有效。喜欢:

  1. WebSocket打开连接
  2. WebSocket请求-响应采样器
  3. WebSocket单读采样器
  4. WebSocket单写采样器
  5. WebSocket关闭

但是,如果我想拥有一个以上的读取采样器,它将不起作用。知道如何正确使用多重读取采样器吗?


我已经阅读了插件文档,并在此处检查了示例JMeter文件。不幸的是,到目前为止,我还没有找到具有多个Read

Samplers的更大样本。

回答:

可能正在发生的事情是您的服务器发送了一些文本消息,而您的JMeter测试脚本未读取该消息。这些消息被缓冲,当您关闭WebSocket连接时,“关闭采样器”首先读取这些文本消息之一并返回错误。

有一个更改请求,用于增强“ Close

Sampler”(关闭采样器),并带有忽略此类缓冲区结束消息的选项。暂时,您可以通过将文本框过滤器与封闭采样器结合使用来实现相同目的;请参阅示例目录中的“使用filter sample.jmx智能关闭”示例。

以上是 JMeter WebSocket插件-关闭SignalR连接 的全部内容, 来源链接: utcz.com/qa/417369.html

回到顶部