0

我们目前使用 LoadRunner 来测试我们的 Web 应用程序的性能,但我们也有一些需要测试的服务器端进程。

背景:

我们将这些过程称为我们的“引擎”。一个引擎通过轮询 IBM WebSpere MQ 队列的消息来接收消息。它从队列中取出一条消息,对其进行处理,然后将结果放入出站队列。我们目前通过 TCL 脚本测试这个引擎,该脚本读取包含消息的文件,将消息放入入站队列,然后轮询出站队列以获取结果。

另一个引擎通过 Web 服务接收消息。Web 服务将消息写入我们数据库中的表中。引擎轮询数据库表中的新消息,获取一条消息并对其进行处理,然后将结果放回数据库中。我们目前通过一个 VBScript 脚本测试这个引擎,该脚本读取一个包含消息的文件,将消息发送到 Web 服务,然后继续查询 Web 服务以获取结果,直到它准备就绪。

问题:

我们希望取消 TCL 和 VBScript 脚本并在 LoadRunner 上实现标准化,以便我们拥有一个工具来管理我们所有的性能测试。

  1. 我知道 LoadRunner 支持“开箱即用”的 Web 服务协议,但我不确定如何使用它。有谁知道如何使用 LoadRunner 测试 Web 服务的任何示例?
  2. LoadRunner 是否有用于 MQ 的协议?是否可以使用 LoadRunner Vuser 将负载(放入消息)驱动到 MQ 队列中?我们是否需要从 HP 或其他供应商处购买东西才能做到这一点?

谢谢 :)

4

4 回答 4

2

包含的软件中有一个 LoadRunner 插件,用于与 MQ 系列接口并将消息直接放入队列中。也完全支持 Web 服务,也支持 VBScript,也许使用 QTPro 作为脚本和 LoadRunner 中的 GUI 用户?科林。

于 2008-12-20T09:49:43.000 回答
0

对于 #1,作为 Web 服务脚本的替代方案,您可以尝试记录 Windows 套接字脚本。我使用 LoadRunner 来记录 winsock 脚本来测试一些(Java)API。我所做的是编写一个非常简单的 Java API 客户端,然后从 Windows 批处理文件中执行它。在 VUGen 中录制 LR 脚本时,该批处理文件将被引用为可执行文件。

我不确定 VUGen 是否可以加载 VBScript 文件进行录制,但您可以尝试。否则,您可能会尝试将您的 VBScript 包装在可由 VUGen 运行的批处理文件中。

当 VUGen 录制一个 winsock 脚本时,它基本上是在监视您正在录制的进程的网络通信。完成录制后,它会在“data.ws”工作表中生成网络数据转储,您可以使用 VUGen 查看和编辑。您可以为负载测试参数化此数据工作表。

于 2008-12-18T22:54:44.233 回答
0

可以在 LoadRunner 中编写 SOA 请求并解析响应。请参阅 wilsonmar.com/1lrscript.htm。

但请记住,为功能测试开发的 TCL 和 VBScript 与 LoadRunner 脚本具有不同的体系结构和范围。QTP 和 WinRunner 接管应用程序。

LoadRunner 脚本专注于通过网络交换数据。在无头 SOA XML 的情况下,这种架构区别并不重要。

但是,您从 GUI 维护 VBscript 可能更容易,因为在 LoadRunner 中创建 SOA 脚本需要比大多数 MQ 开发人员更深入地了解消息格式。

于 2009-01-09T17:02:56.840 回答
0

您确实有三种使用 LoadRunner 从 MQ 队列推送和弹出消息的路径

(1) MQTester。这是与 LoadRunner (2) Winsock 一起使用的本机 MQ 协议插件。最好将 Winsock 的开发描述为与从胡椒粉中挑选蝇粪极其相似。乏味,但最终非常有益。开箱即用,除了许可证更新(可能)之外,不需要额外的插件 (3) 使用 Java 虚拟用户的 JMS,请参阅。 http://en.wikipedia.org/wiki/Java_Message_Service。您最终会在 LoadRunner 的 Java 模板虚拟用户中使用一个小型 Java 程序。您将不得不处理与 LoadRunner 相关的所有 Java 黑魔法方面,但是一旦确定了发布和安装细节的组合,您就可以使用虚拟相同的代码发布到几乎任何 JMS 提供程序(不仅仅是 MQ)某些连接出厂设置已更改。

您也应该能够使用 Web 服务虚拟用户执行 JMS,但我尚未测试该配置。查看运行时设置的 JMS 部分。

于 2011-03-15T12:50:23.393 回答