IBM MQ和JMeter:首次联系

哈Ha!

这是我以前的出版物的前传,同时是对使用JMeter使用MQ协议自动测试服务的文章的翻版。

这次,我将向您介绍我协调JMeter和IBM MQ以便在IBM WAS上愉快地测试应用程序的经验。 面对这样的任务,它很容易就没有屈服。 我想帮助节省时间给所有感兴趣的人。



引言


关于项目:数据总线,许多xml消息,三个交换区域(队列,数据库,文件系统),具有自己的消息处理逻辑的Web服务。 随着项目的发展,手动测试变得更加困难。 Apache JMeter被要求提供帮助-功能强大且开源,拥有大量的用户社区和友好的界面。 易于定制的“开箱即用”版本可让您涵盖所有情况,并且如果最终选择了某些东西 (有帮助),则首席开发人员承诺会提供帮助。

准备初始上下文


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


图1:添加初始上下文

选择上下文的文件类型以及用于存储将包含JNDI对象的描述文件的.bindings的目录:


图2:选择初始上下文类型

然后,您可以开始创建这些对象。 并从连接工厂开始:


图3:创建连接工厂

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


图4:选择连接工厂名称

...以及“ 队列连接工厂”类型


图5:选择连接工厂类型

协议-MQ客户端,用于与MQ进行远程交互的可能性:


图6:选择连接工厂协议

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


图7:为现有连接工厂选择设置

在参数选择窗口中,只需设置三个即可。 在“ 连接”选项卡上,指定队列管理器的名称和支架的IP及其位置(离开端口1414 ):


图8:配置连接出厂设置

并在“ 通道”选项卡上,连接的通道。 单击完成以完成:


图9:完成连接工厂

现在创建到队列的连接:


图10:创建目标

选择一个友好名称(我更愿意指定队列的真实名称)和“ 队列”类型:


图11:选择目标的名称和类型

图7类似您可以从现有队列中复制设置。 如果是第一个,也请单击“ 下一步 ”:


图12:选择现有目标的设置

在设置窗口中,只需选择经理名称和所需的队列,然后单击完成 。 然后重复所需的次数,直到创建了与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
  • jms.jar
  • jta.jar
  • providerutil.jar


polarnik注释中稍加细微差别后提出的替代列表:javax.jms-api-2.0.jar而不是jms.jar。
使用jms.jar时,会发生NoClassDEfFoundError错误,在这里可以找到解决方案。

  • com.ibm.mq.allclient.jar
  • fscontext.jar
  • javax.jms-api-2.0.jar
  • providerutil.jar


这两个库列表均可与JMeter 5.0和IBM MQ 8.0.0.4一起成功使用。

测试计划设定


一组必要且足够的JMeter元素如下所示:


图14:测试计划

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


图15:MQ连接设置

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


图16:参数化的队列名称

仍然需要配置JMS Publisher以将测试消息加载到传出队列中:


图17:配置JMS Publisher

然后,JMS订阅服务器从传入队列中读取消息:


图18:配置JMS订阅服务器

如果一切正确完成,列表器中的结果将充满明亮而愉悦的绿色。

结论


他故意省略了路由和管理的问题;对于单个出版物而言,这些问题是相当亲密和广泛的主题。

此外,在处理队列,数据库和文件时,还有很多细微差别,我也想分别和彻底地讨论。

照顾好你的时间。 并感谢您的收看。

图片

Source: https://habr.com/ru/post/zh-CN437172/


All Articles