当前位置: 首页 > 面试题库 >

JMeter WebSocket插件-关闭SignalR连接

华佐
2023-03-14
问题内容

我有一个网站使用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关闭

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

更新2

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


问题答案:

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

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



 类似资料:
  • 使用如下命令来关闭插件: ./bin/kibana --<plugin ID>.enabled=false NOTE:关闭或打开插件将会在下一次 Kibana 启动的时候触发一次 “优化(optimize)” 动作,可能会使启动有点延迟。 您可以在 package.json 文件中通过 name 属性查看插件的 ID。

  • 我使用weblogic应用服务器和oracle数据库。我使用jdbc与oracle数据库通信。我从weblogic数据源获得连接,并向表中插入一条记录。问题是,当我想关闭连接(插入数据库后)时,我会遇到一个异常(连接已经关闭)。这是我的代码: 但是联系。close语句引发异常: 我试图避免连接。close语句(因为我教过连接是自动关闭的!!但过了一段时间,所有的连接都打开了,因此引发了一个异常)

  • 嗨,我只知道这是一个古老的问题,但今天只是好奇。正如我们所知connection.close也会关闭preared语句(如果我错了请纠正我)。但是如果我关闭连接然后关闭preared语句会怎样 我会得到一个空指针异常吗? 有人说这取决于jvm的速度。有时,ps.close()会在conn.close完成其工作之前运行并首先关闭,因此您不会得到null指针。 为了测试它,我修改了代码 但是我没有得到

  • 一个插件组织。喷气式飞机。插件。ruby与IntelliJ IDEA的当前版本不兼容。IntelliJ IDEA现在将关闭。 没办法,我不能用设置来禁用插件,我什么都做不了。为什么这是插件的行为?我不需要鲁比。

  • 问题内容: 我想使用OkHttpClient加载URL,如果给定URL的网站以pdf内容类型响应,我将继续下载PDF,否则我想忽略响应。 我的问题是,我是否需要做一些特殊的事情来关闭请求/响应,或者如果我选择不读取响应字节流,是否需要做任何事情来表明我将不使用响应?如果没有,OkHttpClient何时关闭连接? 问题答案: 调用将释放响应所拥有的所有资源。连接池将使连接保持打开状态,但是如果未使

  • 关闭连接标志着服务器和客户端之间的通信结束。使用事件可以关闭连接,标记通信结束后,服务器和客户端之间无法进一步传输消息。由于连接不良,也可能发生事件。 方法代表再见握手。它终止连接,除非连接再次打开,否则不能交换任何数据。 与前面的示例类似,当用户单击第二个按钮时,调用方法。 也可以传递前面提到的代码和原因说明参数,如下所示。 以下代码完整概述了如何关闭或断开Web Socket连接 - 在浏览器