IBM MQ 和 JMeter:第一次接触

嘿哈布尔!

这是我的前传 以前的出版物 同时对这篇文章进行了翻拍 使用 JMeter 使用 MQ 协议自动测试服务.

这次我将向您介绍我协调 JMeter 和 IBM MQ 以便在 IBM WAS 上愉快地测试应用程序的经验。 我面临这样的任务,这并不容易。 我想帮助每个感兴趣的人节省时间。

IBM MQ 和 JMeter:第一次接触

介绍

关于该项目:数据总线、许多 xml 消息、三个交换区域(队列、数据库、文件系统)、具有自己的消息处理逻辑的 Web 服务。 随着项目的进展,手动测试变得越来越困难。 Apache JMeter 应运而生——功能强大且开源,拥有庞大的用户社区和友好的界面。 开箱即用的版本易于定制,让您能够涵盖任何情况,并且首席开发人员承诺提供帮助 如果有的话 (它确实有帮助)最终确认了我的选择。

准备初始上下文

要与队列管理器交互,您需要一个初始上下文。 有好几种类型,这里 这里 你可以阅读更多内容。
要创建它,使用 MQ Explorer 很方便:

IBM MQ 和 JMeter:第一次接触
图 1:添加初始上下文

选择上下文文件类型和存储目录 .绑定 文件将包含 JNDI 对象的描述:

IBM MQ 和 JMeter:第一次接触
图 2:选择初始上下文类型

然后你就可以开始创建这些对象了。 从连接工厂开始:

IBM MQ 和 JMeter:第一次接触
图 3:创建连接工厂

选择一个友好的名字...

IBM MQ 和 JMeter:第一次接触
图 4:选择连接工厂名称

...然后输入 队列连接工厂:

IBM MQ 和 JMeter:第一次接触
图 5:选择连接工厂类型

协议 - 消息队列客户端 能够与 MQ 远程交互:

IBM MQ 和 JMeter:第一次接触
图 6:连接工厂协议选择

在下一步中,您可以选择现有工厂并从中复制更多设置。 点击 下一页,如果没有:

IBM MQ 和 JMeter:第一次接触
图 7:为现有连接工厂选择设置

在参数选择窗口中,指定三个就足够了。 在选项卡上 连系 : 指示队列管理器和 IP 站的名称及其位置(端口 1414 离开):

IBM MQ 和 JMeter:第一次接触
图 8:配置连接工厂参数

在选项卡上 通道 — 连接通道。 点击 完成 去完成:

IBM MQ 和 JMeter:第一次接触
图 9:完成连接工厂创建

现在让我们创建到队列的连接:

IBM MQ 和 JMeter:第一次接触
图 10:创建目标对象

让我们选择一个友好的名称(我更喜欢指示队列的真实名称)并输入 队列:

IBM MQ 和 JMeter:第一次接触
图 11:选择目标名称和类型

类似于 图7 您可以从现有队列复制设置。 另请点击 下一页,如果是第一个:

IBM MQ 和 JMeter:第一次接触
图 12:为现有目标选择设置

在设置窗口中,只需选择管理员的名称和所需的队列,然后单击 完成。 然后重复所需的次数,直到创建了与 JMeter 交互所需的所有队列:

IBM MQ 和 JMeter:第一次接触
图 13:完成目标创建

准备JMeter

准备 JMeter 涉及添加与 MQ 交互所需的库。 它们位于 %wmq_home%/java/lib 中。 在启动 JMeter 之前将它们复制到 %jmeter_home%/lib/ext。

  • com.ibm.mq.commonservices.jar
  • com.ibm.mq.headers.jar
  • com.ibm.mq.jar
  • com.ibm.mq.jmqi.jar
  • com.ibm.mq.pcf.jar
  • com.ibm.mqjms.jar
  • dhbcore.jar
  • fscontext.jar
  • 文件
  • jar文件
  • 提供者工具.jar

建议的替代清单 极地尼克 в 评论 有一点细微差别:javax.jms-api-2.0.jar 而不是 jms.jar。
jms.jar出现错误NoClassDEfFoundError,我找到的解决方案 这里.

  • com.ibm.mq.allclient.jar
  • fscontext.jar
  • javax.jms-api-2.0.jar
  • 提供者工具.jar

这两个库列表都可以成功地与 JMeter 5.0 和 IBM MQ 8.0.0.4 配合使用。

制定测试计划

必要且充分的 JMeter 元素集如下所示:

IBM MQ 和 JMeter:第一次接触
图 14:测试计划

示例测试计划中有五个变量。 尽管数量很少,但我建议为不同类型的变量创建单独的配置元素。 随着测试的增长,这将使导航变得更加容易。 在这种情况下,我们得到两个列表。 第一个包含用于连接 MQ 的参数(请参阅。 图2 и 图4):

IBM MQ 和 JMeter:第一次接触
图 15:MQ 连接选项

第二个是引用队列的目标对象的名称:

IBM MQ 和 JMeter:第一次接触
图 16:参数化队列名称

剩下的就是配置 JMS Publisher 将测试消息加载到传出队列中:

IBM MQ 和 JMeter:第一次接触
图 17:设置 JMS 发布者

JMS 订阅者从传入队列中读取消息:

IBM MQ 和 JMeter:第一次接触
图 18:配置 JMS 订阅者

如果一切都正确完成,侦听器中的执行结果将充满明亮欢快的绿色。

结论

我故意省略了路由和管理问题;这些对于单独的出版物来说是相当亲密和广泛的主题。

此外,在使用队列、数据库和文件时存在很大一部分细微差别,我也想单独详细地讨论这些细微差别。

节省您的时间。 感谢您的关注。

IBM MQ 和 JMeter:第一次接触

来源: habr.com