【问题标题】:JMeter WebSocket plugin - Close SignalR connectionJMeter WebSocket 插件 - 关闭 SignalR 连接
【发布时间】:2023-04-07 03:31:01
【问题描述】:

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

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

按照this blazemeter tutorial 了解如何将JMeter 与WebSocket sampler plugin 一起使用,我在尝试关闭SignalR 连接时总是出错。

我的 JMeter 采样器设置如下:

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

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

我尝试提供不同的Close status 代码。但实际上没有提供的代码得到确认,并且总是返回错误消息:

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

响应消息:WebSocket 错误:收到的不是关闭框架,而是带有文本的文本框架 ...

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


更新

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

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

但是,如果我想要一个以上的读取采样器,它就行不通了。知道如何正确使用多重读取采样器吗?


更新 2

我重新阅读了插件文档并检查了示例 JMeter 文件here。 不幸的是,到目前为止,我还没有找到具有多个读取采样器的更大样本。

【问题讨论】:

  • 您好,先生,您能告诉我您使用的是哪个信号器版本以及哪个 .net 版本吗?我试图从我的 asp.net 核心信号器服务器读取 jmeter 中的消息,但无法收到任何消息,即使浏览器客户端正确接收消息,所以无法找到我做错了什么。我能够启动 websocket 连接并使用 write sampler 通过套接字向服务器写入消息,但只能检测到来自信号器服务器的 ping 消息(使用单个读取采样器)并且没有检测到文本帧。你能帮帮我吗
  • 我使用浏览器的开发者工具来了解网站发送和接收的内容。有了这个,我可以构建我想要的 JMeter 测试。
  • 您是否使用 Single Read Sampler 从您的服务器收到任何文本帧到 jmeter 客户端?我使用 fiddler 检查了到 jmeter 客户端和浏览器客户端的网络流量,发现服务器发送的文本帧没有到达 jmeter 客户端,而是到达了浏览器客户端。我在 url 中发送信号器 connectionId 以便随后写入服务器。除了所需的 connectionId 之外,我是否遗漏了任何其他内容?如果您可以分享您的 jmx 文件(websocket 采样器部分),您能否分享您的 jmx 文件,否则您需要采取哪些步骤来建立信号器连接并从中读取?
  • 请创建您自己的 Stackoverflow 问题。我认为我们不应该滥用 cmets 来解决您的问题。一旦你创建了你的问题,请告诉我,我可以在那里为你提供帮助。
  • stackoverflow.com/questions/54122668/… 这是您建议的问题

标签: websocket jmeter asp.net-core-signalr


【解决方案1】:

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

有一个更改请求以增强“关闭采样器”,并选择忽略此类缓冲区消息。目前,您可以通过将文本框架过滤器与关闭采样器相结合来实现相同的效果;请参阅samples 目录中的“使用过滤器 sample.jmx 进行智能关闭”示例。

【讨论】:

  • 我终于可以试试了。超级,谢谢你,它就像一个魅力。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-22
  • 2012-08-08
  • 2012-02-21
  • 2016-05-15
  • 2023-03-03
  • 1970-01-01
相关资源
最近更新 更多