章节目录:
前言
消息响应器是确定虚拟资产接收请求时应发送哪个响应的工具。虚拟资产可以承载多个消息响应器。您可以配置响应器,以便根据一组相关条件向特定请求发送特定消息。您可以手动配置不同的请求/响应用例,或者基于数据源、错误条件、延迟等自动配置它们。
Virtualize 桌面端支持多种消息响应器类型(请参阅虚拟化工具),但 CTP 当前支持字面量和序列消息响应器。该功能旨在提供一种快速创建新消息响应器的方法,可以根据您的需求指定一条字面量消息或一系列字面量消息进行配置。要获得更高级的功能,请在 Virtualize 桌面端中打开相应的 .pva。
添加消息响应器
本节介绍如何添加消息响应器和配置常用设置。
- 选择 .pva 或想要添加新的消息响应器的响应器套件。
- 从操作菜单中选择添加字面量消息响应器或添加序列消息响应器。
- (可选)修改新建工具的名称。
- (可选)如果虚拟资产与多个数据源相关联,请从数据源下拉菜单中选择用于响应的数据源。数据源有着用于参数化响应器的数据。有关数据源的更多信息,请参阅使用数据源和数据库值参数化。
- (可选)配置响应代码和消息。默认情况下,将使用
200
状态码和OK
消息,但您可以在任一字段中点击并输入新消息。- 当在状态字段中输入通用响应代码时,消息字段将自动填充标准消息。
- 您可以覆盖预先填充的消息。
- 如果删除状态字段的值,将使用默认的
200
状态码。消息字段不做要求。
- 当在状态字段中输入通用响应代码时,消息字段将自动填充标准消息。
- (可选)在响应区域中添加 HTTP 头。
- 点击添加。
- 指定头名称(不区分大小写)和值。可以在表模式或文本中输入值模式。
字面量示例:
表格示例:
- 选择有效负载格式、内容类型和输入模式。详情请参阅Configuring Literal Message Responders或Configuring Sequence Message Responders。
- 按照配置响应器的相关性中所述配置关联性。
- (可选)指定请求消息模板。该模板将用于在 Virtualize 中生成 XPath 参数时自动填充预期的响应(例如,数据源关联性和响应器关联性的消息请求 XPath 对话框中,或多响应 XPath 对话框中)。
- 在从通讯报文日志中创建消息响应器时,将自动生成请求消息模板。为了实现此目的,将使用通讯报文日志中已识别的最大请求消息。
- 在未从通讯报文日志中创建消息响应器时,模板将为空。在这种情况下,可以通过字面量编辑器或 XML 编辑器(如,复制与您配置的响应消息关联的示例请求消息)手动更改请求消息模板。有关详情和提示,请参阅编辑 XML 消息。
- 如果请求消息模板为空,则在首次从 XPath 构建器选择值时,它将被更新(如指定 XPath 中所述)。
- 完成的请求消息模板用于填充编辑 Xpath 函数对话框中的视图,这些对话框可从 Virtualize 桌面端中的消息响应器获得。如果模板作为请求输出附加到消息响应器,那么 Virtualize 桌面端中的 XML 数据库和 XML 转换器输出也将使用此模板。
- 保存新工具的配置。
新响应器将被添加到所选响应器套件的末尾。
配置字面量消息响应器
字面量消息响应器是最常见的响应器类型。这类响应器使响应消息的输入变得快速便捷。每个响应器都会响应符合其响应器关联标准的传入请求消息。可采用各种模式配置响应,从简单的固定消息到使用数据源的动态参数化消息。
- 添加字面量响应器并按照Adding a Message Responder中的说明配置常用设置。
- 在响应部分设置合适的格式。您可以选择以下格式:
- JSON
- XML
- 表单 URL 编码
- 其他(用于字面量文本消息)
- 序列响应如果选择序列响应,请参阅配置序列消息响应器了解响应配置和使用的详细信息。
- 从内容类型下拉菜单中选择媒体类型。可选内容类型取决于所选格式。
- 从输入模式下拉菜单中选择输入模式。可选输入模式取决于所选的内容类型。
对于除序列响应以外的所有格式,请在字面量文本编辑器、JSON 编辑器或 XML 编辑器中指定有效负载(详情请参阅编辑 JSON 消息和编辑 XML 消息)。
使用变量
如果您熟悉 Virtualize 或 SOAtest,您可以使用标准的 ${var_name} 符号来引用为响应器套件定义的变量、和数据源值。开始在字段中键入美元符号和大括号 (
${
),可用的变量将显示在工具提示中。更多信息,请参阅使用变量。
JSON 字段需要一个特殊的符号来参数化数字或布尔字段:
${number:<value>}
或${boolean:<value>}
例如,若要使用 Count 列参数化 number 字段,则可以使用
${number:Count}
。(可选)指定请求 URL 模板。输入 URL,该 URL 是被测应用程序将提供(并且响应器应该模拟)的 URL 的典型代表。如果响应器是通过通讯报文向导创建,则此字段将填充一个 URL,该 URL 来自与此响应器相对应的通讯报文中的一个请求。
这里指定的值将用于配置响应关联性和数据源关联性的 URL 路径和 URL 参数相关设置。
- 保存变更。
当传入的请求符合为响应器配置的关联条件时,CTP 将以指定格式发送配置的响应。
配置序列消息响应器
使用序列响应器可以配置字面量响应消息的序列。每次从配置中的第一条消息开始调用响应器时,都会发送单个消息。默认情况下,响应器在服务所有消息响应后循环回第一条消息。每个消息响应器响应与其响应器关联策略匹配的传入请求信息。可采用各种模式配置响应,从简单的固定消息到使用数据源的动态参数化消息。
- 添加序列消息响应器,并按照Adding a Message Responder中的说明配置常用设置。
- 从操作菜单中选择添加序列响应。
- 指定响应名称并配置响应消息。响应会从父响应器继承响应器状态和传输头,但您可以启用覆盖响应器状态和覆盖响应器传输头选项来指定不同的值(更多信息,请参阅 #添加消息响应器# 中的步骤 5 和步骤 6)。
选择响应的消息格式。您可以选择以下格式:
- JSON
- XML
- 表单 URL 编码
- 其他(用于字面量文本消息)
- 从内容类型下拉菜单中选择媒体类型。可选内容类型取决于所选格式。
- 从输入模式下拉菜单中选择输入模式。可选输入模式取决于所选的内容类型。
在编辑器、JSON 编辑器或 XML 编辑器中指定响应有效负载(详情请参阅编辑 JSON 消息和编辑 XML 消息)。
使用变量
如果您熟悉 Virtualize 或 SOAtest,您可以使用标准的 ${var_name} 符号来引用为响应器套件定义的变量、和数据源值。开始在字段中键入美元符号和大括号 (
${
),可用的变量将显示在工具提示中。更多信息,请参阅使用变量。
JSON 字段需要一个特殊的符号来参数化数字或布尔字段:
${number:<value>}
或${boolean:<value>}
例如,若要使用 Count 列参数化 number 字段,则可以使用
${number:Count}
。点击保存添加响应。
- 重复步骤 2-8,创建场景所需的所有响应。
- 添加所有需要的响应后,可以点击父文件夹,根据需要点击并拖动响应来更改顺序。
- 保存变更。
当连续向 PVA 发送符合关联标准的请求时,CTP 将按照指定的顺序从第一个响应开始发送响应。序列响应器会保留其状态,这样,只要 PVA 收到下一个请求就会发送配置中的下一个响应。您可以通过更改并保存资产来重新部署,从而重置状态。