如果不希望部署消息代理(推荐方法;如 录制来自消息代理的通讯报文中所述),您可以使用录制代理“动态”录制 HTTP、JMS 和 MQ 通讯报文。与消息代理一样,这些代理可以同时捕获通过多个端点的活动 HTTP、JMS 和 MQ 通讯报文。 

当应用程序运行时,录制代理监视指定传输上的通信。Virtualize“监听”通讯报文请求和响应,然后构建一个合法请求/响应对的通讯报文文件。然后使用改通讯报文生成和部署虚拟化捕获到的行为的虚拟资产(根据捕获到的通讯报文,返回与传入请求消息相关联的虚拟化响应)。

支持 JMS、MQ、HTTP、HTTPS (SSL)、Basic、Digest 和 Kerberos 身份验证;不支持 NTLM。

不支持 HTTP 分块和 continu 数据头。

在虚拟化应用程序行为中存在三个主要步骤:

  1. 捕获文件中的通讯报文。告诉 Virtualize 如何连接以及希望它监视什么。启用监视后,Virtualize 将从捕获的请求和响应构建一个通讯报文文件。
  2. 从该通讯报文文件中创建消息响应程序。
  3. 验证这些消息响应器是否自动部署为虚拟资产。

录制通信量

若要同时捕获跨一个或多个端点的实时通讯报文,请完成以下步骤:

  1. 请打开 Record Traffic 向导(可以通过多种方式访问它:从 File> New Record Traffic, from the New> Other> Virtualize> Traffic> Record Traffic,或从 New 按钮的下拉菜单)。



  2. 对于要录制通讯报文的每个端点,请执行以下操作:
    1. 在“录制通讯报文的配置代理”对话框中,请单击 Add。打开的向导将预先填充您已配置的任何连接。
    2. Proxy Type下,选择所需传输(HTTP、JMS、MQ)。
    3. 完成所选传输的代理设置。
    4. Traffic file 字段中,指定要保存将创建来捕获此通讯报文的通讯报文文件的位置。稍后可以使用该通讯报文文件生成表示捕获到的实时通讯报文的虚拟资产。  在指定文件名时,可以使用 %d(表示当前日期)和 %t(表示当前时间)等变量。
    5. 指定要如何在通讯报文文件中录制通讯报文数据:
      • Append new session data 将新的通讯报文数据添加至现有通讯报文文件中(其在 Traffic file 字段中指定)。如果指定文件早就不存在了,则将创建一个新的文件。
      • Overwrite session data 重写现有通讯报文文件中的通讯报文数据(其在 Traffic file 字段中指定)。如果指定文件早就不存在了,则将创建一个新的文件。

    6. 然后单击 OK
  3. 从被测试的应用程序中,生成您想要录制的通讯报文。
  4. 单击 Finish

当实时通信被捕获时,您可以在可用选项卡之间切换,以查看每个端点上的请求和响应。下面的屏幕截图显示了在 3 个不同端点并发捕获的通讯报文。





虚拟化录制的通讯报文

一旦录制了通讯报文,便可以创建和部署虚拟资产,如下所示:

  1. 从创建的通讯报文文件中创建消息响应程序,请查阅 从通讯报文文件中创建消息响应程序 - 概述
  2. 验证这些消息响应器是否自动部署为虚拟资产,请查阅 Deploying Virtual Assets

为 HTTP 配置录制代理

本节解释如何为 HTTP 配置录制代理。这与可部署消息代理的 HTTP 配置不同(这在 HTTP 配置中进行了描述)。它包含:

注意,支持 HTTP、HTTPS (SSL)、Basic、Digest 和 Kerberos 身份验证;不支持 NTLM。

指定录制代理的 HTTP 设置

在录制代理向导(与已部署的消息代理相反)中,您可以指定如下 HTTP 设置:

  1. 在 Proxy Connection Settings 对话框中选择 HTTP 作为 ProxyType



  2. 完成合适的 HTTP 设置。
    • 对于服务端 SSL,请保证选中 Enable server side SSL
    • 对于双向 SSL,请保证选中 Enable client side SSL 并完成 Certificate and Private Key 设置。启用客户端 SSL 将默认启用服务端 SSL。

服务端 SSL 设置

由于 SSL 的性质,Virtualize 的 HTTP 录制代理生成由其自己的证书颁发机构签名的动态服务器证书。  为了接受这个动态服务器证书,需要将通过 HTTPS 生成请求的客户机设置为信任所有证书。为此:

  1. 确保 Virtualize 服务器证书设置启用了 Trust all certificates ,在 Parasoft> Preferences> Security中),或者服务的服务器证书被正确地添加到 Virtualize cacerts 文件中(关于更多详情,请查阅 配置部署在 HTTPS 上的服务 )。

双向 SSL 设置

由于 SSL 的性质,Virtualize 的 HTTP 录制代理生成由其自己的证书颁发机构签名的动态服务器证书。为了接受这个动态服务器证书,需要将通过 HTTPS 生成请求的客户机设置为信任所有证书。为此:

  1. 确保 Virtualize 服务器证书设置启用了 Trust all certificates ,在 Parasoft> Preferences> Security中),或者服务的服务器证书被正确地添加到 Virtualize cacerts 文件中(关于更多详情,请查阅 配置部署在 HTTPS 上的服务 )。
  2. 确保您有客户端证书密钥存储库文件(并且,如果客户端证书和私钥存储在不同密匙库 — 私钥密钥存储库文件)以及相关的密钥存储库的密码、密钥存储库类型信息、私钥密码和名称的别名用于证书/私钥。

捕获通讯报文

若要生成从使用服务器端 SSL 或双向 SSL 的服务捕获 HTTPS 通讯报文的通讯报文文件,请完成向导,如 Capturing the Traffic (上述)中所述。

在 HTTP 向导页面中,请确保启用适当的 SSL 选项:

  • 对于服务端 SSL,请保证选中 Enable server-side SSL
  • 对于双向 SSL,请保证选中 Enable client-side SSL ,并完成 Certificate and Private Key 设置。启用客户端 SSL 将默认启用服务端 SSL。

配置 AUT

若要配置正在测试的应用程序以访问将代表这个录制的通讯报文的虚拟资产:

  • 如果客户端应用程序不是浏览器:请修改客户机应用程序,使其指向运行虚拟化录制代理的主机和端口。  例如,假设您的应用程序在 realapp.parasoft.com:80 上运行,而您的代理在 mymachine.parasoft.com:44 上(如向导中指定的那样)运行。  您可以将客户机应用程序指向 mymachine.parasoft.com:44,而不是 realapp.parasoft.com:80,从而迫使通讯报文通过代理。
  • 如果使用浏览器来产生针对 web 应用程序的通讯报文:
    • 如果应用程序不需要身份验证,或者使用基本身份验证或 Kerberos 身份验证,请将 mymachine.parasoft.com:44 设置为浏览器中的代理。  这将把通讯报文重定向到录制向导代理,并将录制通讯报文。
    • 如果应用程序需要摘要认证,请不要在浏览器中设置代理;相反,修改浏览器所指向的 URL。换句换说,不要使用 http://realapp.parasoft.com/mypage.html,而是使用 http://mymachine.parasoft.com:44/mypage.html。这将导致通讯报文通过录制代理路由。

  • No labels