本主题解释了如何配置并应用 REST 客户端工具,该工具向 RESTful 服务发送消息。可以使用 HTTP、GET、POST、PUT、DELETE、HEAD、OPTIONS、TRACE 或其他自定义方法。可以在 SOAtest 和 Virtualize 中使用 REST 客户端工具。 

本章包含:

REST 客户端迁徙(从 9.7.x 及更早版本)

REST 客户端工具在版本 9.8 中进行了重新设计,以方便配置过程并提供额外的灵活性。

当打开并保存相关以下文件时,版本 9.7.x 及更早版本中创建的 REST 客户端将自动更新为使用新格式。 .tst

 两个皆为当前版本产品文件。 

自动化迁徙过程中,遗留输入模式中的设置被映射到新的输入模式。遗留的 REST 客户端具有表单、文字、脚本化输入模式。 

当前 REST 客户端具有约束的(OpenAPI/Swagger, RAML, WADL)和不受约束的服务定义模式。

迁徙表现如下所示:

在以下情况中无法使用确切的映射:

当迁移具有这些不受支持的映射的工具时,将会把详细信息打印到控制台。

当执行具有不受支持的映射的遗留工具时,该工具将会失败,因为有一个映射问题的质量任务。

Resource 选项卡

Resource 选项卡中,指定资源为要发送的消息。默认服务定义模式(不受约束)允许指定访问服务的 URL 和查询。如果服务定义(OpenAPI/Swagger、RAML、WADL)可用,则可以将其更改为其中一个受约束的配置模式。

大多数可用控件将随服务定义字段设置的内容不同而有所变化:

参数可在 Path 和 Query 选项卡中配置,如 Parameter Configuration中所述。

不受约束的配置

不受约束的模式(该模式在 Service Definition 设置为 None时启用)允许指定 URL 作为文字字符串,它可以是一个固定值、参数化值或脚本化值。此外,调用的方法也可以指定为固定值、参数化值或脚本化值。  更多详情 关于参数化值的更多详情,请查阅 使用数据源、变量或来自其他测试的值对测试进行参数化。关于脚本化值的更多详情,请查阅 扩展和脚本基础

使用固定值,可以使用 ${var_name} 语法对数据源值进行访问。也可以使用指定的环境变量。有关环境的更多详情,请查阅 在不同的环境中配置测试

如果 URL 使用环境变量,则 Resolved URL 字段将显示它们如何解析为实际 URL。

然而,如果环境变量被屏蔽,Resolved URL 字段将不显示实际值 。

参数可在 Path 和 Query 选项卡中配置,如 Parameter Configuration中所述。URL 中的任何变更将自动传播给 Path/Query 表。同时,URL 将自动更新将任何更改映射给 Path/Query 表。 

RAML 配置

RAML 配置模式允许指定不同的 URL 参数,如下所示:

可以设置 Base URL 字段,以使用受约束的(来自指定 RAML URL)或脚本化的输入。 

参数可在 Path 和 Query 选项卡中配置,如 Parameter Configuration中所述。URL 将自动更新将任何更改映射给 Path/Query 表。 

OpenAPI/Swagger 配置

OpenAPI/Swagger 配置模式允许指定不同的 URL 组件,如下所示:

可以设置 Base URL 字段,以使用受约束的(来自 OpenAPI/Swagger URL)、固定的(可调整的)或脚本化的输入。 

参数可在 Path 和 Query 选项卡中配置,如 Parameter Configuration中所述。URL 将自动更新将任何更改映射给 Path/Query 表。 

WADL 配置

WADL 配置模式允许指定不同的 URL 组件,如下所示: 

可以设置 Base URL 字段,以使用受约束的(来自 OpenAPI/Swagger URL)、固定的(可调整的)或脚本化的输入。 

参数可在 Path 和 Query 选项卡中配置,如 Parameter Configuration中所述。URL 将自动更新将任何更改映射给 Path/Query 表。 

切换视图

如果将受约束的模式(Service Definition 设置为 RAML, OpenAPI/Swagger, 或 WADL))切换为不受约束的模式(Service Definition 设置为 None),则将可以选择使用受约束视图中的值自动填充不受约束的视图。

例如,假定在 WADL 视图中有以下内容:



如果选择了从 WADL 视图填充不受约束的视图,则将得到以下内容:


参数配置

在所有模式中(受约束的和不受约束的),参数都可以在 Path 和 Query 选项卡中进行配置。

模板参数

Paths 选项卡允许为当前选择的操作配置模板参数。例如,路径“/parabank/services/bank/accounts/{accountId}”只有一个路径参数:"accountId"。 

在不受约束的模式中,参数可以被固定、参数化或者脚本化。



在受约束的模式中,参数设置为固定、参数化、自动生成或者脚本化。


查询参数

Query 选项卡允许为当前选择的操作配置 URL 查询参数。可以添加固定的、参数化的或脚本化的值。

在不受约束的模式中,参数可以被固定、参数化或者脚本化。


在受约束的模式中,参数设置为固定、参数化、自动生成或者脚本化。 

编码注意事项

URL 查询参数根据 "application/x-www-form-urlencoded" 内容类型进行格式化:空白字符用 '+'代替。非阿拉伯数字替换为百分号,后面跟着两个表示字符代码的十六进制数字。Name 和 value 用 '=’ 隔开,name-value 对用 '&'隔开。 

如果希望使用不同的格式,则查询参数也可以直接在工具端点 URL(而不是查询参数部分中)末尾指定。例如,以下内容也可以指定为 http://host:8080/path?a=1&b=2&c=3


矩阵参数

矩阵参数可以通过直接将它们追加到资源 URL 最后一个路径段末尾进行配置。例如,以下参数也可以指定为 http://host:8080/path;jsessionid=12345


Payload 选项卡

如果正使用某个方法发送数据(如。PUT、POST、DELETE),则 Payload 选项卡允许为将发送的消息指定有效负荷。 

指定有效负荷本身之前,请确保选择合适的有效负荷格式和媒体类型(在 Payload FormatContent-Type 框中)。如果 Resource 选项卡中的服务定义被设置为 RAML、OpenAPI/Swagger 或 WADL,则有效负荷格式和内容类型将受到该 URL 和所选定资源的约束。



这两个设置控制 Content-Type HTTP 数据头并确定可用的输入模式。例如,表单 JSON 视图将值可适用于 JSON 媒体类型;而表单 XML 视图只适用于 XML 媒体类型。如果媒体类型为 "application/x-www-form-urlencoded” 并且服务定义为当前选择的操作定义表现形式参数,则表单输入视图将可用于配置参数。这类似于 Path 和 Query 选项卡上使用的表单输入。  

指定有效负荷之后,可以从 Input Mode 下拉列表中选择输入模式。REST 客户端工具将与其他客户端工具共享 Input Mode 选项。有关共享选项的更多详情,请查阅 输入模式

关于与模式相关的 XML 或 JSON,根据定义和编辑中的值自动填充的可用表单视图将受到限制,以确保该消息遵循指定模式。例如,你将无法对树节点进行插入、删除、重命名、复制或粘贴操作。 

HTTP Options 选项卡

HTTP 选项允许确定使用哪个协议(HTTP 1.0 或 1.1)发送请求,以及与协议(安全、数据头、cookie等)相关的各种选项。 

Transport 下拉列表中选择合适的协议,然后配置其属性,以下部分将对此作出说明:

SOAtest

Misc 选项卡

以下选项可以在 REST 客户端工具的 Success Criteria 选项卡中使用。

相关教程

以下教程演示如何使用这个工具: