Parasoft HTTP 简单模拟工具允许虚拟资产学习和复制被测试应用程序和后端组件之间的事务。它可以用来记录和模拟通讯报文,而不需要使用代理。

在本章节中:

前提条件

  • Parasoft Virtualize 9.10.x 或更高版本

安装指南

可以从UI或命令行安装该工具。

UI 安装指南

  1. 选择 Parasoft> Preferences
  2. 在系统属性首选项页面,单击 Add JARs
  3. 浏览并选择 HTTPSimpleMockingTool.jar
  4. 重启 Virtualize。

命令行安装指南

将 HTTPSimpleMockingTool.jar 文件添加到 localsettings 属性文件中的 system.properties.classpath 属性中。例如:

system.properties.classpath=<path to jar>/HTTPSimpleMockingTool.jar

或者,您可以将 HTTPSimpleMockingTool.jar 文件添加到 VirtualAssets/system_jars 文件夹中。如果该文件夹不存在,则创建该文件夹。执行以下 API 调用来重新加载 jar:

http://<virtualize_server_host>:<virtualize_server_port>/soavirt/api/<version >/preferences/systemProperties/reload

使用说明

HTTP 简单模拟工具用作消息响应器工具的输出。它附加到传出响应的有效负载。

  1. 右键 Virtual Assets 项目,然后选择 Add New> Virtual Asset (.pva) File
     
  2. 为 .pva 指定名称,然后单击 Next
     
  3. 选择 Empty 件夹,然后单击 Next
     
  4. 右键单击响应程序套件,然后选择 Add New> Responder
     
  5. 选择 Literal Message Responder ,然后单击 Finish
     
  6. 在新创建的文字消息应答器的 Response 选项卡中,为您的应答器添加一个默认消息,以防在通讯报文文件中找不到匹配的请求/响应对,并且无法记录真实的服务。
     
  7. 保存修改后的响应器。
  8. 右键单击响应程序,然后选择 Add Output
     
  9. 选择 Outgoing Response> Payload ,然后选择 HTTP Simple Mocking Tool。此工具必须添加到输出响应有效负载;其他选项不适用。
     
  10. 配置工具选项。请查阅 Tool Configuration

配置好工具并将关联的虚拟资产部署到 Virtualize 服务器后,就可以开始使用它进行模拟了。当您准备好使用该工具来记录和虚拟化通讯报文时,请将请求从客户端发送到虚拟资产的端点,该端点显示在虚拟资产部署设置中。

虚拟资产将处理发送到其端点的请求,并将它们转发到工具。该工具将在指定的通讯报文文件中查找相关的请求/响应对。

如果找到匹配,则将相关请求发送到客户端。如果没有找到匹配项,该工具将消息转发给实际的服务,并尝试记录一个请求/响应对。如果无法记录(例如,因为服务没有响应),与此工具关联的消息响应器将使用您提供的默认“catch all”消息响应客户端。 

该行为如下图所示:

如果希望在请求匹配过程中排除某些通讯报文模式,可以使用 Tool Configuration中描述的 Exclude Pattern 字段。例如,假设您拥有以下请求:

POST /parabank/services/LoanProcessor HTTP/1.1
soapaction: ""
connection: keep-alive
cache-control: no-cache
pragma: no-cache
accept: */*
user-agent: Apache CXF 2.4.2
content-type: text/xml; charset=UTF-8
content-length: 412
host: localhost:8080

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Body>
		<ns2:requestLoan xmlns:ns2="http://service.parabank.parasoft.com/">
			<ns2:loanRequest>
				<requestDate>2016-06-07T15:20:52.410-07:00</requestDate>
				<customerId>12212</customerId>
				<availableFunds>1510.67</availableFunds>
				<loanAmount>100</loanAmount>
				<downPayment>10</downPayment>
			</ns2:loanRequest>
		</ns2:requestLoan>
	</soap:Body>
</soap:Envelope>

如果希望在匹配请求时忽略 requestDate 和 availableFunds 元素,则可以输入以下内容: 

(<requestDate>.*</requestDate>)|(<availableFunds>.*</availableFunds>)

工具配置

可以配置以下设置。

Backend Host

(要求)指定如果在通讯报文文件中找不到匹配的响应,则应将请求转发到哪个主机。

Backend Port

(要求)指定如果在通讯报文文件中找不到匹配的响应,则应将请求转发到哪个端口。默认为 80

Traffic File Path

指定记录请求响应对的通讯报文文件的位置。默认为 VirtualAssets/traffic_file.txt

Exclude Pattern

指定正则表达式模式,该模式指示希望从请求匹配过程中排除哪些通讯报文模式。例如,如果希望包含日期,可以使用正则表达式,例如 <requestDate>.*</requestDate>

Debug

指定处理细节和错误信息是否通过事件日志进行通信。默认为 false

第三方内容

此工具不包含任何第三方软件。


  • No labels