如何使用 Loadrunner 与 TIBCO EMS Server 通信?

How to communicate with TIBCO EMS Server using Loadrunner?

我是 TIBCO 的新手,正在尝试使用 loadrunner 与 EMS 服务器通信。

客户端和服务器之间的通信通常通过 TCP 进行。

我有以下详细信息:

有没有人尝试使用 Loadrunner 在 EMS 服务器上发布消息。

请建议我如何开始编写脚本?

我相信您应该使用 tibjmsnaming:// 而不是 tcp。 并在路径中保留所需的 JMS/EMS 库。

您应该使用 WebServices 模板。 我记得很久以前就向 Load runner 发布过消息。

您有许多通往任何 JMS 兼容目标的路径。有些使用网络服务协议。我的偏好是利用适当的连接工厂元素的小型 Java 模板虚拟用户。您的队列解决方案很可能还有一个 C 级接口,可以合并到 C 模板虚拟用户中。您可以选择使用 C++/C#/VB 在 Visual Studio 中开发的虚拟用户(请参阅文档,高级主题)。如果您有一个现有的客户端,您甚至可以使用 Winsock 从队列中记录一个 "push" 和一个 "pop" 并操作适当的缓冲区进行练习——我过去曾在 MQ 中使用过这条路径。

因此,根据您的技能、许可的虚拟用户类型等,有很多选择...

在 google 上搜索并尝试使用不同的协议后,我发现了一种在 EMS 服务器上发布消息的简单方法。
由于 EMS 是 JMS 的扩展(java 消息服务),我们必须使用 jms 协议与 EMS 通信。
在 VUGEN 中使用 java vuser 是最佳选择。
以下是您可以粘贴到 actions.java 文件中的代码。

public int action() throws Throwable {
        String serverUrl = "tcp://localhost:7222";
        String userName = "admin";
        String password = "admin";

        String queueName = "your queue name";

        try {
        System.out.println("Sending JMS message to server " + serverUrl + "...");

        QueueConnectionFactory factory = new TibjmsQueueConnectionFactory(serverUrl);
        QueueConnection connection = factory.createQueueConnection(userName, password);
        QueueSession session = connection.createQueueSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);

        // Use createQueue() to enable sending into dynamic queues.
        Queue senderQueue = session.createQueue(queueName);
        QueueSender sender = session.createSender(senderQueue);

        /* publish messages */

        TextMessage jmsMessage = session.createTextMessage("your message");
        //String text = (String) data.elementAt(i);
        //jmsMessage.setText(text);
        sender.send(jmsMessage);
        System.out.println("Sent message!");


        connection.close();
        } catch (JMSException e) {
        e.printStackTrace();
        System.exit(0);
    }
        return 0;
}//end of action