...
Table of Contents | ||
---|---|---|
|
记录概要
从 Parasoft Virtualize 录制
Parasoft Virtualize(通过 CTP 的精简型客户端接口)生成的通讯报文可以用于测试创建和虚拟资产创建。
关于 SOAtest 记录代理
如果没有 Parasoft Virtualize,那便可以使用 SOAtest 的记录代理在应用程序运行时监视和捕获来自服务的实时 HTTP、JMS 或 MQ 通讯报文。 这些代理可以同时捕获通过多个端点的实时通讯报文。
...
- 捕获文件中的通讯报文。告诉 SOAtest 如何连接以及希望它监视什么。启用监视后,SOAtest 将从捕获的请求和响应构建一个通讯报文。
- 有关更多详情,请查阅以下内容。
- 从该通讯报文中创建测试。
- 有关更多详情,请查阅 从通讯报文中创建参数化的消息响应程序测试客户端 从流量中创建参数化的消息响应程序测试客户端 和 从通讯报文创建固定的消息测试客户端。
使用 SOAtest 录制通讯报文
如要跨一个或多个端点捕获实时通讯报文,请完成以下步骤:
- 选择 File> New> Other> SOAtest> Traffic> Record Traffic。
- 对于要记录通讯报文的每个端点,请执行以下操作:
- 在 Configure Proxies for Recording Traffic 对话框汇总,单击 Add。
打开的向导将预先填充您已配置的任何连接。 - 在 Proxy Type下,选择所需传输(HTTP、JMS、MQ)。
- 完成所选传输的代理设置。请查阅 自定义分组标准 1、 录制测试生成的 HTTP、JMS 和 MQ 流量 JMS Recording Configuration或 MQ Recording Configuration 以获得更多详情。
- 在 Traffic file 字段中,指定要保存将创建来捕获此通讯报文的通讯报文的位置。稍后可以使用该通讯报文生成表示捕获到的实时通讯报文的资产。
- 指定要如何在通讯报文中记录通讯报文数据:
- Append new session data 将新的通讯报文数据添加至现有通讯报文中(其在 Traffic file 字段中指定)。如果指定文件早就不存在了,则将创建一个新的文件。
- Overwrite session data 重写现有通讯报文中的通讯报文数据(其在 Traffic file 字段中指定)。如果指定文件早就不存在了,则将创建一个新的文件。
- 在 Configure Proxies for Recording Traffic 对话框汇总,单击 Add。
- 然后单击 OK。
- 在主向导面板中,单击 Next。
- 将被测试应用程序的主机和端口设置为向导中指定的位置。
- 从被测试的应用程序中,生成您想要记录的通讯报文。
- 单击 Finish。
当实时通信被捕获时,您可以在可用选项卡之间切换,以查看每个端点上的请求和响应。
一旦通讯报文被捕获,您便有两个选项来生成测试:
HTTP 录制配置
本节解释如何配置通过 HTTP 传输发送和接收消息的记录代理。
支持 HTTP、HTTPS (SSL)、Basic、Digest 和 Kerberos 身份验证;不支持 NTLM。
指定记录代理的 HTTP 设置
在录制代理向导,指定您的 HTTP 设置如下:
- 在 Proxy (Client) and Target Application (Server) Connection Settings 对话框中,选择 HTTP 作为 Proxy Type。
- 完成合适的 HTTP 设置。
- 对于服务端 SSL,请保证选中 Enable server side SSL。
- 对于双向 SSL,请保证选中 Enable client side SSL ,并完成 Certificate and Private Key 设置。 启用客户端 SSL 将默认启用服务端 SSL。
服务端 SSL 设置
由于 SSL 的性质,SOAtest 的 HTTP 记录代理生成由其自己的证书颁发机构签名的动态服务器证书。 为了接受这个动态服务器证书,需要将通过 HTTPS 生成请求的客户机设置为信任所有证书。此外,必须将 SOAtest 配置为信任服务提供的证书。为此:
- 确保 SOAtest 服务器证书设置启用了 Trust all certificates (在 Parasoft> Preferences> Parasoft> Security中),或者服务的服务器证书被正确地添加到 SOAtest cacerts 文件中(关于更多详情,请查阅 配置部署在 HTTPS 上的服务 )。
双向 SSL 设置
由于 SSL 的性质,SOAtest 的 HTTP 记录代理生成由其自己的证书颁发机构签名的动态服务器证书。 为了接受这个动态服务器证书,需要将通过 HTTPS 生成请求的客户机设置为信任所有证书。此外,必须将 SOAtest 配置为信任服务提供的证书,以及发送适当的客户端证书。。为此:
- 确保 SOAtest 服务器证书设置启用了 Trust all certificates (在 Parasoft> Preferences> Parasoft> Security中),或者服务的服务器证书被正确地添加到 SOAtest cacerts 文件中(关于更多详情,请查阅 配置部署在 HTTPS 上的服务 )。
- 确保您有客户端证书密钥存储库文件(并且,如果客户端证书和私钥存储在不同密匙库 — 私钥密钥存储库文件)以及相关的密钥存储库的密码、密钥存储库类型信息、私钥密码和名称的别名用于证书/私钥。
捕获通讯报文
Anchor | ||||
---|---|---|---|---|
|
若要生成从使用服务器端 SSL 或双向 SSL 的服务捕获 HTTPS 通讯报文的通讯报文,请完成向导,如 Capturing the Traffic (上述)中所述。
在 HTTP 向导页面中,请确保启用适当的 SSL 选项:
- 对于服务端 SSL,请保证选中 Enable server-side SSL。
对于双向 SSL,请保证选中 Enable client-side SSL ,并完成 Certificate and Private Key 设置。启用客户端 SSL 将默认启用服务端 SSL。
JMS 录制配置
Anchor | ||||
---|---|---|---|---|
|
本节解释如何配置通过 JMS 传输发送和接收消息的记录代理。
本章包含:
JMS 前提条件
Anchor | ||||
---|---|---|---|---|
|
JNDI
请查阅 JMS 前提条件。
队列分配
当在队列上交换通讯报文时,假设有一个客户机应用程序向客户机目标队列发送请求,而服务器应用程序从队列接收该消息,然后将另一条(应答)消息发送到第二个队列,以便客户机接收。
...
- 调整客户机应用程序,以便在这两个新队列上通信(使用为它们配置的代理连接)。
- 调整服务器应用程序以使用其他两个队列。
只需要修改两个应用程序队列中的一个。
指定 JMS 设置
Anchor | ||||
---|---|---|---|---|
|
指定 JMS 设置,如下所示:
- 在 Proxy (Client) and Target Application (Server) Connection Settings 对话框中,选择 JMS 作为 Proxy Type。
指定您是使用 JMS 队列还是主题、提供者 URL、初始上下文或连接工厂(请确保将相关 jar 添加到 SOAtest 类路径中),以及任何附加的初始上下文 JNDI 属性、身份验证,以及您希望监视以收集通讯报文的队列/主题。
Info icon false title 使用 JMSReplyTo 作为响应 该选项指定是否使用消息的 JMSReplyToQueueName 数据头来确定代理发送响应的位置。如果启用了 Use JMSReplyToQueueName for Response 选项,来自传入请求的值将用于确定将响应发送到何处。 如果未启用该选项,响应将发送值 UI 中指定的队列;JMS 消息数据头中的值将被忽略。
- For Queues: SOAtest 将捕获发送给客户端 Destination queue 的消息,然后将其转发到服务器 Reply to queue 队列,以进行处理。服务器 Destination queue 是服务器将在其上放置响应消息的队列(处理请求消息之后)。SOAtest 将捕获这些消息并将其转发至客户端 Reply to queue。有关更多详情,请查阅 Configuring Queues for Recording 。
- For Topics: SOAtest 监控客户端 Subscribe topic 上传入的请求,以及服务端 Publish topic上输出的响应。
- For Queues: SOAtest 将捕获发送给客户端 Destination queue 的消息,然后将其转发到服务器 Reply to queue 队列,以进行处理。服务器 Destination queue 是服务器将在其上放置响应消息的队列(处理请求消息之后)。SOAtest 将捕获这些消息并将其转发至客户端 Reply to queue。有关更多详情,请查阅 Configuring Queues for Recording 。
MQ 录制配置
Anchor | ||||
---|---|---|---|---|
|
本节解释如何配置通过 MQ 传输发送和接收消息的记录代理。
本章包含:
- 录制测试生成的 HTTP、JMS 和 MQ 流量Prerequisites
- 指定 MQ 设置
MQ 前提条件
Anchor | ||||
---|---|---|---|---|
|
Jar 文件
查阅Adding Necessary Jar Files to the Classpath。
队列分配
当在队列上交换通讯报文时,假设有一个客户机应用程序将请求放到客户机目标队列中,而服务器应用程序从队列中获取消息,然后将另一条(应答)消息放到第二个队列中,以便客户机获取。
...
- 调整客户机应用程序,以便在这两个新队列上通信(使用为它们配置的代理连接)。
- 调整服务器应用程序以使用其他两个队列。
只需要修改两个应用程序队列中的一个。
指定 MQ 设置
Anchor | ||||
---|---|---|---|---|
|
指定 MQ 设置,如下所示:
- 在 Proxy (Client) and Target Application (Server) Connection Settings 对话框中,选择 MQ 作为 Proxy Type。
- 在可用字段中指定 MQ 设置。关于更多配置详情,请查阅以下内容。
Info | ||||
---|---|---|---|---|
| ||||
该选项指定是否使用消息的 replyToQueueName 数据头来确定代理发送响应的位置。它影响 MQMT_REQUEST 类型的 MQ 消息的响应。 如果启用了 Use replyToQueueName for Response 选项,来自传入请求的值将用于确定将响应发送到何处。 如果未启用该选项,响应将发送值 UI 中指定的队列。更具体地说:
|
为记录配置队列
Anchor | ||||
---|---|---|---|---|
|
本节解释如何为 WebSphere MQ 和 JMS 点到点配置记录(当使用队列时,而不是主题)。
概要
Parasoft SOAtest 用于捕获/记录 JMS 点到点消息传递和 WebSphere MQ 的方法要求 SOAtest 充当代理,或者,换句话说,充当中介/中间人。
...
Info | ||||
---|---|---|---|---|
| ||||
如果使用发布和订阅模式(使用主题而不是队列),那么便不需要将新主题引入系统。这就是为什么在向导中只需要提供两个目标:
|
场景 1:修改客户端应用程序
在此场景中,您需要访问客户端应用程序部署配置,以便调整它使用的队列。修改客户端用于与服务器通信的队列如下:
...
客户端队列 | |
---|---|
Destination/Put 队列 | PROXY_REQUEST_QUEUE |
Reply to/Get 队列 | PROXY_RESPONSE_QUEUE |
服务端队列 | |
Reply to/Get 队列 | REQUEST_QUEUE |
Destination/Put 队列 | RESPONSE_QUEUE |
场景 2:修改服务端应用程序
在此场景中,您需要访问服务端应用程序部署配置,以便调整它使用的队列。修改服务端用于与客户端通信的队列如下:
...