哈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订阅服务器如果一切正确完成,列表器中的结果将充满明亮而愉悦的绿色。
结论
他故意省略了路由和管理的问题;对于单个出版物而言,这些问题是相当亲密和广泛的主题。
此外,在处理队列,数据库和文件时,还有很多细微差别,我也想分别和彻底地讨论。
照顾好你的时间。 并感谢您的收看。