本主题涵盖了表单输入视图,该视图允许您在 UI 表单字段中输入参数。
本章包含:
从文本填充表单输入视图 查看 如果您想查看和处理现有 XML 消息的简单方法(如:来自开发人员的样品、来自服务器和来自传统测试工具的追踪等等),您可以将其复制到文本视图中,然后打开表单输入视图。一旦消息被复制到文本视图中,则表单输入视图将以 schema 感知和 schema 约束的方式填充,这种方式更易于编辑、管理和参数化。 |
表单输入视图顶部提供了一个操作下拉菜单,列出了可调用和使用的可用方法及操作。
在输入有效 WSDL URI 时自动创建操作列表。您可以通过从列表中选择一个操作来选择要使用的操作。
主面板包含消息的可扩展表示形式。基于 SOAP 的工具具有用于 SOAP Body 和 SOAP Header 的子选项卡。有关 Header 子选项卡的消息,请查阅 Adding SOAP Headers。 如果您在 WSDL 选项卡中选择了纯 XML 消息类型,则 SOAP Body 和 SOAP Header 选项卡不可用。可用控件允许您指定如何为树中每个节点指定参数值。选项包含:
Parameterized:使用此选项可使用数据源中指定的值。必须首先将正确的数据源添加到响应程序套件。
Auto 使用此选项可以自动生成参数值。当您希望评估服务的约束并决定哪种类型的数据将失败时,自动参数生成特别有用。如果选择了 Auto,您就不许在向控件右侧输入任何内容。值将自动生成。此选项不适用于表单 JSON。
Script:如果希望脚本在运行时生成参数,请使用此选项。如果选择 Script,请单击 Edit Script,然后在打开的对话框中输入方法的位置(或方法本身)。方法应为返回对象(或包含默认构造方法的 Java 类)静态的 Java 方法,并且满足 Web 服务期望的签名。Parasoft 将转换方法为 SOAP 参数,并在工具执行时将其作为 SOAP 调用发送。有关添加方法的常规指南,请查阅 扩展和脚本基础。
如果根据方法(可能会有许多不同的选项可用)选择了 Fixed ,其在 Value 选择框中,您可以将文字值作为消息的一部分发送。
您可以配置将简单参数作为文字值发送的选项,也可以配置将嵌套参数发送到复杂类型对象(例如数组)中的选项。
当配置一个简单的参数时,该选项将根据工具中是否指定了数据源以及 WSDL 的 XML 模式是否包含任何 nillable 元素而有所不同。
在为简单参数配置值时,可以使用以下选项:
如果工具中指定的 WSDL 包含对象数组,则值框下的 GUI 将显示 Index 列和 Value 列。您将能够嵌套该工具作为消息的一部分发送的参数值。
您可以参数化来自 Parasfot 数据资源库数据源列复杂的 XML 元素,它可以引用零个、一个或多个分层记录值。
添加 Parasoft 资源库数据源,如 创建资源库数据源中所述。
可在表单输入视图中执行以下高级选项。
使用 Excel 电子表格来生成动态数组或序列值手工创建用于参数化大型且复杂的消息可能非常耗时和乏味。您可以配置 SOAtest 和/或 Virtualize 基于要参数化的消息结构自动生成 CSV 数据源模板。 有关如何做到这一点的详细信息,记载于生成用于在 Virtualize 中填充消息元素的数据源模板。 发送简洁美观的信息您可以右键单击消息传递工具中的根元素并选择 Beautify 来格式化消息以提高可读性。还可以通过右键单击节点并禁用 Beautify 选项来发送简洁消息(格式化为适合单行的消息) Schema 类型执行默认情况下,SOAtest 和/或 Virtualize 检查以保证输入的参数值符合其指定的 schema 类型(将光标悬停在元素上时显示)。如果希望使用不符合 schema 的值,请通过右键单击元素然后选中 Enforce Schema Type 禁用掉 schema 类型执行。若要禁用用于子元素的 schema 执行,请右键单击父元素,然后选中 Ignore Schema Type of Children。如果稍后希望重启 schema 类型执行,请选中正确的右键单击选项。 minoccurs 和 maxoccurs 执行默认情况下,SOAtest 和/或 Virtualize 检查以确保输入的参数值符合 minoccurs 和 maxoccurs 约束。如果希望使用超出阈值的值,请右键单击该元素,然后选中 Enforce Occurrences。如果稍后希望重启 schema 类型执行,请重复相同操作。 Base 64 编码Base 64 编码默认未启用。若要使用 base 64 编码,请右键单击希望编码的元素,然后从快捷菜单栏选中 Base 64 Encoding。如果稍后希望禁用 base 64 编码,请重复相同操作。 XML 编码默认情况下,XML 值编码为 unicode 字符,但是您可以右键单击元素并选中 XML Encoding> Unicode 或 ASCII 或 None 来改变该编码。
向数组添加多个值要快速向数组添加多个值,右键单击相关元素,然后选择 Insert Multiple.。在打开的对话框中,使用功能可用控件指定要使用的值。 用数据源值替换特定元素您可以配置 SOAtest 和/或 Virtualize,以便在工具执行时使用来自数据源或 Xpath 的值替代整个元素(或仅其内容)。为此:
如果稍后想停止使用功能数据源或 XPath 值,右键单击该元素并选择 Remove Replacement Setting。 从数据源值填充一组元素填充特性允许您使用现有数据源(而不是手动指定值)中所存在的值自动填充一组表单字段。比如说,您可以通过每个元素一列来创建数据源,然后自动向所有可用元素添加相应的值。 若要使用数据源值填充元素的字段,请在表单输入视图中右键单击该字段,然后选中 Populate。保留启用的 Map parameter values to data source columns ,然后指定排除和 nillable 设置(如果适用)。 使用自动生成的值填充一组元素填充特性还可为一组表单字段自动生成简单值。 若要使用简单自动生成的值填充元素的字段,请在表单输入视图中右键单击该字段,然后选中 Populate。清除 Map parameter values to data source columns,然后指定排除和 nillable 设置(如果适用)。 取代元素如果希望使用 schema 中定义的其他元素替换原始元素(比如,要使用原始元素名称等价的外语或使用原始元素的另一种变体),您可以使用取代元素特性。取代元素需要具有与原始元素相同的类型,除非原始元素的类型是 anyType。在这种情况下,可以用任何有效替换的元素替换它(属于被替换/替换的抽象元素定义的“替换组”的任何元素)。 若要取代一个元素,右键单击原始元素,然后从快捷菜单选择 Substitute Element 。在打开的对话框中,指定包含新元素的 schema,然后向取代列表中添加所需元素。 使用数据源值以确定是否已发送可选元素或属性(仅适用于包含在 响应程序或测试套件 的数据源,以及 WSDL 或 schema 为该元素指定 minOccurs=0,不适用于资源库数据源) 当使用可选元素或属性处理消息时,您可以使用数据源来配置是否将可选元素或属性作为消息的一部分发送。正确配置后(如下描述),指定数据源列中的空字符串将告诉 SOAtest 和/或 Virtualize 不要在消息中包含可选元素或属性。如果数据源有一个实际值,则该值将作为消息的一部分发送。 使用数据源值来配置是否已发送可选元素若要将值存储在数据源中,则指示是否为可选元素发送值:
使用数据源值来配置是否发送可选属性若要将值存储在数据源中,则指示是否为可选属性发送值:
使用数据源值来配置是否使用 Nil 或 Null 属性(仅适用于包含在响应程序或 测试套件 的数据源,以及未选中给定元素的 nil 复选框,不适用于资源库数据源 若要将值存储在数据源中,则指示是否对各种元素使用 nil 属性或实际值,请右键单击相关树节点,然后选择 Configure nil> Use Data Source: Set nil with empty string [element](对于 JSON,标签为 Configure null> Use Data Source: Set null with empty string [element])。 例如,假定您有以下数据源:
空字符串的 nil 优先于元素值。因此,当空字符串的 nil 具有空字符串时,将发送
|
表单输入视图中 SOAP Header 子选项卡允许您指定头文件参数。若要添加头文件,请从表单输入视图的头文件子选项卡执行以下操作:
单击 Add 按钮。将显示 Add new SOAP Header 对话框。
如果从可选响应头类型选中 WS-Security ,通过右侧 GUI 面板中的 Timestamp、 Username Tokens、 BinarySecurityToken和 Optinals 的选项卡获得以下选项:
在 Timestamp 选项卡中有以下选项:
选项 | 说明 |
---|---|
Send Timestamp | 选择添加时间戳值。 |
Dynamically generate timestamp | 选择在每次生成消息时生成时间戳值。 |
wsu:Created | (仅当未选中动态生成时间戳时可用)手动输入时间戳值。对于生成的每个消息,此值都是相同的。 |
Send Expires | 选择添加失效值。 |
Time Interval between Created and Expires | (仅当选中发送有效期时可用)手动输入要在创建的时间戳和失效时间戳之间发生的时间间隔。 |
在 Username Tokens 选项卡中有以下选项:
选项 | 说明 |
---|---|
Send Username Token | 选择添加用户名值。 |
wsse: Username | 输入用户名。 |
wsse: Password | 输入密码。 |
Add Nonce | 选择添加 nonce 值。 |
Dynamically generate Nonce | 选择在每次生成消息时生成 nonce 值。 |
wsse:Nonce | (仅当未选中动态生成 Nonce 时可用)手动输入 Nonce 值。对于生成的每个消息,此值都是相同的。 |
Add Timestamp | 选择添加时间戳值。 |
Dynamically generate timestamp | 选择在每次生成消息时生成时间戳值。 |
wsu:Created: | (仅当未选中动态生成时间戳时可用)手动输入时间戳值。对于生成的每个消息,此值都是相同的。 |
在 Username Tokens 选项卡中有以下选项:
选项 | 说明 |
---|---|
Tokens | 从 Tokens 下拉列表中选择 BinarySecurityToken。 |
Add | 单击添加一个新的 BinarySecurityToken。在显示的 Add BinarySecurityToken 对话框中,指定令牌的 wsuID 。 |
Remove | 单击删除 BinarySecurityToken。 |
在 Options 选项卡中有以下选项:
选项 | 说明 |
---|---|
WS-Security URI | 从下拉菜单中输入或选择用户名令牌头文件的命名空间。默认值对应 OASIS 最新的 WS-Security 规范。 选择 WS-Security URI 还会相应地改变 WS-Security Utility URI 。但是,您可以更改 WS-Security Utility URI,使其与 WS-Security URI 不对应。 |
WS-Security Utility URI | 从下拉菜单中输入或选择用户名令牌头文件的实用程序命名空间。默认值对应 WS-Security URI 菜单中的选项。 |
如果选择了可用头文件类型的 WS Addressing ,将默认发送以下四个头文件类型:Action, To, MessageID, and Reply/To。以下头文件不是默认的:RelatesTo, From, FaultTo.这些头文件类型可以通过右侧 GUI 面板的 Action/To、 MessageID/ReplyTo和 RelatesTo/From/FaultTo 选项卡来配置。默认情况下,还使用 2004/08 命名空间(如 http://schemas.xmlsoap.org/ws/2004/08/addressing)。
在 Action/To 选项卡中有以下选项:
选项 | 说明 |
---|---|
wsa:Action | 指定 WS Addressing 操作值。 |
wsa:To | 指定 WS Addressing To 值。 |
WS-Addressing URI | 从下拉菜单输入或选择 WS-Addressing URI。 |
在 MessageID/ReplyTo 选项卡中有以下选项:
选项 | 说明 |
---|---|
wsa:MessageID | 指定 WS Addressing MessageID。默认自动生成一个唯一值。 |
wsa:ReplyTo | 指定将返回消息发送到 WS Addressing ReplyTo 端点引用。
|
在 RelatesTo/From/FaultTo 选项卡中有以下选项:
选项 | 说明 |
---|---|
Send wsa:RelatesTo | 指定 WS Addressing RelatesTo 值。 |
Send wsa:From | 指定将返回消息发送到 WS Addressing From 端点引用。
|
wsa:FaultTo |
|
如果选择了可用头文件类型的 SAML 1.1 Assertion请查阅 Adding SAML Headers。
如果选择了可用头文件类型的 SAML 2.0 Assertion,将提供与 OASIS SAML 令牌配置文件对应的各种选项。有关更多详情,请查阅 http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security
如果选择了可用头文件类型的 WS ReliableMessaging ,将有以下选项:
选项 | 说明 |
---|---|
wsrm:Sequence | 指定 wsrm:Sequence 参数,如 Identifier 和 MessageNumber。 |
wsrm:AckRequested | 指定 wsrm:AckRequested 参数,如 Identifier 和 MaxMessageNumberUsed。这些选项仅当选中 Send AckRequested 复选框时可用。 |
如果选择了可用头文件类型的 自定义 ,将有以下选项:
选项 | 说明 |
---|---|
Views | 从下拉菜单中选择所需视图并相应地进行配置。 |
Populate | 填充 SOAP 数组和元素参数。单击此按钮还可设置任何元素 nil 为 false 并对它们进行扩展。只有从 WSDL 创建工具时才启用此按钮。 |
如果选择了可用头文件类型的 Import Schema Element as Header ,将出现一个对话框,您可以从 schema 位置加载声明的元素。加载完元素后,您可以为 SOAP Header选择多个元素。一旦您单击 OK,将向工具中添加一个带有选定元素结构的头文件。
表单输入视图中的 Header 子选项卡允许您指定头文件参数。当添加 SAML 1.1 头文件时,您可以选择四种类型的 SAML 确认方法:
若要添加 Sender-Vouches: Unsigned 确认方法, 在表单输入视图的头文件子选项卡执行以下操作:
若要添加 Sender-Vouches: Unsigned:SSL 确认方法, 在表单输入视图的头文件子选项卡执行以下操作:
若要添加 Sender-Vouches: Signed 确认方法, 在表单输入视图的头文件子选项卡执行以下操作:
若要添加 Holder-of-Key 确认方法, 在表单输入视图的头文件子选项卡执行以下操作:
在创建断言期间必须添加 SAML 语句。以下可供选择:
创建断言之后,可以添加和修改 SAML 语句,以便扩展或自定义断言。为此: