我们目前使用LoadRunner对我们的网络应用进行性能测试,但我们还需要测试一些服务器端流程。
我们将这些流程称为“引擎”。一个引擎通过轮询IBM WebSpere MQ队列以获取消息来接收消息。它从队列中接收消息,处理它,并将结果放在出站队列中。我们目前通过TCL脚本测试此引擎,该脚本读取包含消息的文件,将消息放入入站队列,然后轮询出站队列以获取结果。
其他引擎通过Web服务接收消息。 Web服务将消息写入数据库中的表。引擎轮询数据库表以获取新消息,接收消息并对其进行处理,并将结果放回数据库中。我们目前通过VBScript脚本测试此引擎,该脚本读取包含消息的文件,将消息发送到Web服务,然后继续查询Web服务以获取它已准备好的结果。
我们想废除TCL和VBScript脚本并在LoadRunner上进行标准化,以便我们有一个工具来管理我们所有的性能测试。
谢谢:)
答案 0 :(得分:2)
在incuded软件中有一个LoadRunner加载项,用于与MQ系列接口,并将消息直接放在队列中。 Web服务也完全受支持,也支持VBScript,可能使用QTPro作为脚本,而使用LoadRunner中的GUI用户? 科林。
答案 1 :(得分:0)
对于#1,作为Web服务脚本的替代方法,您可以尝试录制Windows套接字脚本。我已经使用LoadRunner来记录winsock脚本来测试一些(Java)API。我所做的是编写一个非常简单的Java API客户端,然后从Windows批处理文件中执行该客户端。在VUGen中记录LR脚本时,批处理文件将被引用为可执行文件。
我不确定VUGen是否可以加载VBScript文件进行录制,但您可以尝试。否则,您可以尝试将VBScript包装在可由VUGen运行的批处理文件中。
当VUGen记录winsock脚本时,它基本上监视您正在录制的进程的网络通信。完成录制后,它会在“data.ws”工作表中生成网络数据转储,您可以使用VUGen查看和编辑。您可以为负载测试参数化此数据工作表。
答案 2 :(得分:0)
可以在LoadRunner中编写SOA请求和解析响应。 见wilsonmar.com/1lrscript.htm。
但请记住,为功能测试开发的TCL和VBScript具有与LoadRunner脚本不同的体系结构和范围。 QTP和WinRunner接管了该应用程序。
LoadRunner脚本专注于通过线路交换数据。对于无头SOA XML,这种架构区别无关紧要。
但是,您可能更容易从GUI维护VBscript,因为在LoadRunner中创建SOA脚本需要比大多数MQ开发人员更深入地了解消息格式。
答案 3 :(得分:0)
使用LoadRunner
实际上有三条路径可以从MQ队列中推送和弹出消息(1)MQTester。这是一个本机MQ协议添加,用于LoadRunner (2)Winsock。最好将Winsock开发描述为与从胡椒粉中拣出飞散的琐事相似。单调乏味,但最终非常有益。开箱即用,除许可证更新(可能)外,不需要额外的添加项 (3)使用Java Virtual用户的JMS,请参阅。 http://en.wikipedia.org/wiki/Java_Message_Service。最后,您将在LoadRunner的Java模板虚拟用户中使用一个小型Java程序。您将不得不处理与LoadRunner相关的所有Java黑魔法方面,但是一旦确定了发布和安装细节的组合,您就可以使用虚拟相同的代码将任何JMS提供程序(而不仅仅是MQ)发布到某些连接工厂设置已更改。
您也应该能够与Web服务虚拟用户一起使用JMS,但我还没有测试过该配置。查看运行时设置的JMS部分。