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

章节目录:

前提条件

  • Parasoft Virtualize 9.10.x 或更高版本

安装

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

UI 安装

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

命令行安装

将 HTTPSimpleMockingTool.jar 文件添加到设置属性文件中的 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 Simple Mocking Tool 用作消息响应器工具的输出。它附加到传出响应的有效负载。

  1. 右键点击虚拟资产项目,然后选择 新建> 虚拟资产 (.pva) 文件
     
  2. 为 .pva 指定名称,然后点击下一步
     
  3. 选择件夹,然后点击下一步
     
  4. 右键点击新的响应器套件,然后选择新建> 响应器
     
  5. 选择字面量消息响应器,然后点击完成
     
  6. 在新创建的字面量消息响应器的响应选项卡中,为您的响应器添加一个默认消息,以防在通讯报文文件中找不到匹配的请求/响应对,并且无法记录真实的服务。
     
  7. 保存修改后的响应器。
  8. 右键点击响应器,然后选择添加输出
     
  9. 选择传出响应> 有效负载,然后选择 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