本主题概述如何从记录的 HTTP、JMS 或 MQ 通讯报文生成测试。本章包含:

该方法与“从 JMS/TIBCO/Sonic 生成测试”向导相比如何?

此方法支持 HTTP 和 MQ 以及 JMS(其他选项只支持 JMS)。它允许您同时记录多个连接(其他连接同时支持单个 JMS 连接)。而且,它始终将消息留在队列上(如果选择了该选项)。

但是,此方法有两个步骤(在一个文件中捕获通讯报文,然后从该文件创建测试);其他向导只需要一个步骤。

对于其他向导,当初始向导完成时,将自动创建测试。它们还提供 TIBCO 感知和 Sonic 感知的配置面板,可以自动配置一些特定于提供程序的设置。录制向导显示了一个通用 JMS 配置接口。

从通讯报文概述生成测试

SOAtest 可以为在通讯报文日志中捕获的应用程序行为创建测试,包括:

  • 由 SOAtest 记录代理(例如,用于 JMS、MQ、HTTP)生成的通讯报文文件,如 录制测试生成的 HTTP、JMS 和 MQ 通讯报文中所述。
  • 由 Parasoft Virtualize 或 Parasoft CTP 生成的通讯报文文件。
  • 其他来源的日志;例如:
    • 使用网络嗅探工具在网络级别捕获的消息跟踪或日志。
    • 通过让应用程序记录其通讯报文获得的 HTTP 日志。

支持的通讯报文日志格式

SOAtest 支持以下通讯报文日志格式(文件扩展名无关紧要)。

HTTP 通讯报文日志

对于 HTTP 解析器类型,SOAtest 可以使用 POST、GET 和 PUT 方法识别和解析 HTTP 通讯报文。  不支持 DELETE。SOAtest 期望日志包含消息的 HTTP 头,后面跟着消息正文内容:

HTTP request 1 headers 
HTTP request 1 body 
HTTP response 1 headers 
HTTP response 1 body 
HTTP request 2 headers 
HTTP request 2 body
HTTP response 2 headers 
HTTP response 2 body 
...

SOAtest 还希望消息体和下一组 HTTP 数据头之间有两行结束符(Windows 或 Unix)。

此格式类似于 SOAtest 记录向导或其他 HTTP 通讯报文嗅探工具所捕获的格式,这些工具可以在 HTTP 通讯报文通过 HTTP 套接字连接传输时记录 HTTP 通讯报文。

支持使用分块通讯报文记录的 HTTP 分块和通讯报文文件。但是,不支持包含分块消息或“continue”数据头的原始 HTTP 通讯报文文件。

JMS 和 MQ 通讯报文日志

SOAtest 支持使用由 SOAtest 通讯报文记录向导生成的 JMS 和 MQ 通讯报文文件创建测试。

消息格式

对于参数化消息,通讯报文文件可以包含 SOAtest 支持的任何消息格式(包括 EDI、JSON、固定长度和自定义消息格式)。对于固定消息,只支持 XML 和 JSON。

使用参数化消息与使用固定消息

SOAtest 为从通讯报文日志生成测试提供了两个选项:

  • Generate parameterized messages 创建使用来自 Parasoft 数据存储库的值自动参数化的测试客户端(使用此选项时也会自动创建该存储库)。此选项允许您使用为操作大型复杂数据源而设计的图形界面快速添加和修改请求消息值。数据值的存储和操作独立于测试客户端和 .tst。
  • Generate fixed messages 为检测到的每个请求创建一个测试客户端。所有请求消息数据都存储在测试客户端中并在其中进行操作。这些测试客户端稍后可以参数化。

例如

若要了解其中的区别,可以考虑下面来自一个简单 HTTP 通讯报文文件的示例,其中包括用于 getItemByTitle 操作的三条消息。

参数化信息

使用“生成参数化消息”,SOAtest 将使用一个参数化的测试客户端配置通讯报文文件的三个 getItemByTitle 请求,如下所示。



此外,它还创建了以下可编辑和可扩展的数据存储库。

固定消息

通过“生成固定消息”,SOAtest 将通讯报文文件的三个 getItemByTitle 请求配置为三个测试客户端。下面显示了使用关键字 Java搜索图书而创建的测试客户端。



还添加了两个类似的测试客户端来使用关键字 LinuxC++搜索图书。

  • No labels