Parasoft HTTP Simple Mocking Tool 允许虚拟资产学习和复制被测应用程序和后端组件之间的事务。它可以用来录制和模拟通讯报文,而不需要使用代理。
章节目录:
前提条件
- Parasoft Virtualize 9.10.x 或更高版本
安装
可以通过 UI 或命令行安装该工具。
UI 安装
- 选择 Parasoft> 首选项。
- 在系统属性首选项页面,点击添加 JARs。
- 浏览并选择 HTTPSimpleMockingTool.jar。
- 重启 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 用作消息响应器工具的输出。它附加到传出响应的有效负载。
- 右键点击虚拟资产项目,然后选择 新建> 虚拟资产 (.pva) 文件。
- 为 .pva 指定名称,然后点击下一步。
- 选择空件夹,然后点击下一步。
- 右键点击新的响应器套件,然后选择新建> 响应器。
- 选择字面量消息响应器,然后点击完成。
- 在新创建的字面量消息响应器的响应选项卡中,为您的响应器添加一个默认消息,以防在通讯报文文件中找不到匹配的请求/响应对,并且无法记录真实的服务。
- 保存修改后的响应器。
- 右键点击响应器,然后选择添加输出。
- 选择传出响应> 有效负载,然后选择 HTTP Simple Mocking Tool。此工具必须添加到传出响应有效负载;其他选项不适用。
- 配置工具选项。请参阅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 | (要求)指定如果在通讯报文文件中找不到匹配的响应,则应将请求转发到哪个端口。默认为 |
Traffic File Path | 指定记录请求响应对的通讯报文文件的位置。默认为 |
Exclude Pattern | 指定正则表达式模式,该模式指示希望从请求匹配过程中排除哪些通讯报文模式。例如,如果希望排除日期,可以使用正则表达式,例如 |
Debug | 指定处理细节和错误信息是否通过事件日志进行通信。默认为 |
第三方内容
此工具不包含任何第三方软件。