0


RabbitMQ自动发送消息工具(自动化测试RabbitMQ)

点击下载《RabbitMQ自动发送消息软件(自动化测试RabbitMQ)》

前言

在现代分布式系统中,消息队列扮演着至关重要的角色,用于在不同的服务或组件之间传递数据。RabbitMQ作为一个流行的开源消息代理软件,被广泛用于实现异步通信、负载均衡和任务队列等功能。本文介绍了一款使用C#开发的自动化发送RabbitMQ消息的工具,该工具旨在简化消息的发送过程,提高开发效率,并支持多种消息发送策略和配置选项。

在这里插入图片描述

1. 项目管理

项目管理是本软件的核心功能之一,旨在帮助用户高效地组织和管理多个测试项目。每个项目可以设置不同的服务地址,并支持启用或禁用项目,以便灵活控制测试任务的执行。

1.1 项目创建与管理

  • 新增项目: 用户可以通过点击“新增项目”按钮,创建一个新的项目。在创建项目时,用户需要输入MQTT服务地址和端口。
  • 修改项目: 已创建的项目可以随时修改。用户可以点击“修改项目”按钮,更新服务地址、端口、用户名和其他配置。
  • 删除项目: 用户可以删除不再需要的项目。删除项目时,系统会提示用户确认,以避免误删。

1.2 项目排序

  • 项目排序: 项目之间的顺序可以通过“上移”、“下移”、“上移到顶部”、“下移到底部”等操作进行调整。用户可以根据需要,将重要的项目排在前面,或者按照特定的顺序执行项目。

在这里插入图片描述

1.3 项目配置

  • Host: RabbitMQ服务器的主机名或IP地址。例如,localhost192.168.1.100
  • Port: RabbitMQ服务器的端口,默认是5672(非SSL连接),如果使用SSL连接,默认端口是5671
  • UserName: 用于连接RabbitMQ的用户名。例如,admin
  • Password: 与用户名对应的密码。例如,password123
  • CertPath: SSL证书的路径。如果使用SSL连接,需要提供证书文件的路径。例如,D:/path/to/certificate.pem
  • ServerName: 服务器名称,通常与主机名一致,用于SSL证书验证。
  • CertPassphrase: 证书密码(如果有的话),用于解密证书。
  • 状态: 每个项目可以单独启用或禁用。用户可以通过使用“启用”或“禁用”选项,控制项目的状态。禁用的项目将不会执行任何请求。

在这里插入图片描述

2. 消息管理

在每个项目中,用户可以添加多个消息,并对每个消息进行详细配置。消息管理功能支持Message使用变量替换,使得测试用例更加灵活和可扩展。

在这里插入图片描述

2.1 添加消息

用户可以通过点击“新增消息”按钮,添加一个新的消息。在添加消息时,用户需要输入名称、Exchange、RoutingKey、Queue、Message等信息。

在这里插入图片描述

  • 名称: 仅是对消息的一种标识,没有实际意义。
  • Exchange(交换机): 是RabbitMQ中用于接收消息并将其路由到队列的组件。它根据消息的RoutingKey和绑定的规则来决定将消息发送到哪个队列。有以下几种类型- Direct Exchange:根据RoutingKey精确匹配,将消息发送到匹配的队列。- Fanout Exchange:广播消息到所有绑定的队列,不考虑RoutingKey。- 消息 Exchange:使用模式匹配RoutingKey,将消息发送到匹配的队列。- Headers Exchange:根据消息头中的键值对进行路由。
  • RoutingKey(路由键): 是一个字符串,用于指定消息的路由规则。Exchange根据RoutingKey和绑定规则将消息发送到相应的队列。- 在Direct Exchange消息 Exchange中,RoutingKey是必需的。- 在Fanout Exchange中,RoutingKey被忽略,因为消息被广播到所有绑定的队列。
  • Queue(队列): 是存储消息的容器,等待消费者来获取和处理消息。每个队列可以绑定到一个或多个交换机,并使用RoutingKey来接收特定的消息。- 队列可以是持久化非持久化。- 队列可以设置自动删除、排他性等属性。
  • Durability(持久性): 是指消息或队列在RabbitMQ服务器重启后是否能够保留。此选项配置应和Queue保持一致,否则将导致消息发送失败。- 持久化队列(Durable):在服务器重启后仍然存在。- 持久化消息(Transient):非持久性指的是消息或队列在RabbitMQ服务器重启后不会保留。
  • Arguments(参数): 是用于配置队列或交换机的可选参数。这些参数可以用于设置队列的特定行为,如消息过期时间(TTL)、队列长度限制等。- x-message-ttl:设置消息的过期时间。- x-max-length:限制队列中消息的最大数量。- x-dead-letter-exchange:指定死信交换机,用于处理过期或被拒绝的消息
  • Message: 发送消息时对应的数据,可支持变量,详情查看变量输入说明
  • 执行次数和间隔: 每个消息可以设定执行的次数和每次执行的间隔时间。用户可以输入具体的数值,例如执行次数为 10,每次执行的间隔为 1000 毫秒。

2.2 变量替换

Message(消息)支持变量替换。用户可以使用变量来动态生成请求数据,变量的使用可参考界面上的【变量输入说明】,支持日期时间、序号、MAC、整数、浮点数、自增长整数、自增长字符串。

在这里插入图片描述

2.3 消息排序

消息之间的顺序可以通过“上移”、“下移”、“上移到顶部”、“下移到底部”等操作进行调整。用户可以根据需要,将重要的消息排在前面,或者按照特定的顺序执行消息。

在这里插入图片描述

3. 日志查看

用户可以通过该功能实时查看每次请求的详细信息,并进行详细的日志分析。

在这里插入图片描述

  • 详细日志: 日志中包含每次请求的详细信息,包括: - 服务地址和端口- 发送请求时间- 返回结果时间- 执行结果(成功或失败)- 错误信息(如果有的话)
  • 执行统计: 日志中还包括以下统计信息: - 总执行次数- 成功次数- 失败次数- 总耗时
  • 保存日志: 用户可以将日志内容单独保存为文件,方便后续分析和存档。

当日志内容过多时,用户可以点击【清空日志】来清理当前日志内容。点击【保存为文件】可以将当前日志内容保存为log文件。如果未手动保存日志记录,程序会在可执行目录下的Log/LogInfo文件夹中保留所有执行的日志记录。

在这里插入图片描述

最后,我们分别使用RabbitMQ Assistant 工具和RabbitMQ的管理端查看一下,可以看到确实是发送成功了。

在这里插入图片描述

请添加图片描述

4. 软件特点

  • 多项目管理:可同时执行多个项目下的多消息发送,项目与项目之间按序执行。
  • 多消息管理:每个项目下可设定多个消息,消息之间按顺序执行。
  • 异步发送: 每个消息都是按照顺序异步发送的,不会阻塞主线程。用户可以同时发送多个请求,而不会因为单个请求的延迟而影响整体测试效率。
  • 并发执行: 软件能够高效处理并发请求,提高测试效率。用户可以设置每个消息的执行次数和间隔时间,模拟不同的请求场景。
  • 异步结果: 请求结果也是异步处理的,用户可以实时查看每个请求的执行结果。软件支持在日志中显示每个请求的详细信息,包括发送时间、返回时间、执行结果等。
  • 变量管理: 软件支持变量管理,用户可以定义全局变量,并在消息地址和请求数据中使用这些变量。
  • 错误处理: 软件提供详细的错误日志,用户可以查看每个请求的错误信息,并进行相应的处理。
  • 性能优化: 软件采用高效的异步处理机制,能够处理大量并发请求,并提供稳定的性能表现。

总结

本文介绍了一款使用C#开发的自动化发送RabbitMQ消息的工具。该工具通过简化消息发送流程、提高开发效率和支持多种消息发送策略,极大地便利了开发者在分布式系统中使用RabbitMQ进行消息传递。通过详细的代码示例和功能介绍,我们展示了该工具的设计思路、实现细节以及如何将其集成到现有的开发流程中。希望本文能对正在使用或计划使用RabbitMQ的开发者提供有价值的参考和帮助。

点击下载《RabbitMQ自动发送消息软件(自动化测试RabbitMQ)》


本文转载自: https://blog.csdn.net/a342874650/article/details/143564888
版权归原作者 孤蓬&听雨 所有, 如有侵权,请联系我们删除。

“RabbitMQ自动发送消息工具(自动化测试RabbitMQ)”的评论:

还没有评论