本主题解释了使用 HTTP 1.0 和 所选定支持工具和提供操作工具的配置选项。 本章包含: 选择 HTTP 1.0 作为传输协议时,可以指定是否希望客户端请求使用 Keep-Alive 连接(NTLM 和 Digest HTTP 身份验证所需)。它也重复用于 GUI 或命令行中单个测试套件的调用。从合适工具的 Transport 选项卡中,您可以向 SOAP 请求添加、修改和删除自定义 HTTP 数据头。 URL Parameters (仅针对消息传递客户机) General 页面选项包括: Router Endpoint: 指定服务所需的端点 URL 默认情况下,SOAP 客户端端点设置为 WSDL中定义的端点。除了 WSDL,还有三个端点选项: Method:指定使用哪个方法来处理请求。如果选择了 Constrain to WSDL 多选框,则该选项是禁用的。 要调用的方法可以指定为一个固定值、参数化值或脚本化值。有关参数化值的更多详情, 查阅 使用数据源、变量或来自其他测试的值对测试进行参数化 和 使用数据源值、变量和提取的值参数化工具。 对于固定值,可以使用 Message Exchange Pattern: Expect Synchronous Response: 指定是否需要响应主体。 始终希望 HTTP 响应头。 如果未选择该选项,则产品将发送单向消息并等待通知头(通常为 "HTTP/1.0 202 Accepted”)。 URL Parameters 页面 选项包含: 消息客户端 URL 参数格式 URL 查询参数根据 "application/x-www-form-urlencoded" 内容类型格式化。空白字符用 '+'代替。非阿拉伯数字替换为百分号,后面跟着两个表示字符代码的十六进制数字。Name 和 value 用 '=’ 隔开,name-value 对用 '&'隔开。 如果希望使用不同格式,则可以直接在工具端点 URL 末尾(而不是在 URL 参数部分中)指定查询参数。例如,可以使用 http://host:8080/path?a=1&b=2&c=3 Security> Client side SSL 页面选项包括: Security> HTTP Authentication 页面选项包括: Security> OAuth Authentication 页面选项包括: 有关使用 Oauth 授权的更多详情,请查阅 Using OAuth Authentication。 HTTP Headers 页面选项包括: 这些控件用于覆盖 header 字段。例如,可以通过这些控件指定所需名称和值来覆盖 Content-Type header 字段。 默认情况下添加的以下 header 字段可以通过这些 UI 控件覆盖。 该值将包含来自 HTTP 端点或资源 URL 的主机名和端口号。 输出消息的媒体类型。只在输出消息包含 HTTP 控制的主体时,才可发送该数据头。 发送主体的有 POST, PUT, 和 DELETE 方法,而没有 GET, OPTIONS, HEAD, 或 TRACE 方法。 默认值由发送的消息类型确定。SOAP 消息的内容类型根据 SOAP 版本变化而变化,SOAP 1.1 是 "text/xml" ,SOAP 1.2 是 "application/soap+xml"。其他 XML 消息默认使用 "text/xml"。JSON 消息将使用 "application/json"。使用表视图配置的消息将使用 "application/x-www-form-urlencoded"。使用 MIME 附件发送的消息将包含带 "start" 和 "boundary” 参数的 "multipart” 内容类型。属于 EDI、固定长度、CSV 或自定义消息格式的消息将具有消息格式的媒体类型。 输出消息的大小(以字节为单位)。 下面的 HTTP 数据头是有条件地进行配置的。它们是在该表之外配置的,或者具有必须动态生成的值。 该 HTTP 数据头仅在 SOAP 1.1 时才发送。设置在常规(General)页面的 SOAPAction 字段中。 该数据头根据 HTTP 身份验证和首选项(在 Security> HTTP Authentication and Oauth 下)中特定的 Oauth 设置自动构建。NTLM、Digest 和 Kerberos 身份验证的值将根据不同要素(包括动态生成的挑战响应和安全令牌)而不同。 如果启用了 Keep-Alive connection ,则该数据头会被添加到消息中,并使其值为 该数据头根据首选项中的代理身份验证设置以及服务器是否指示需要代理身份验证构建。 Cookies 页面选项包括: Parasoft 同时支持 OAuth 1.0a 和 2.0 安全协议,用于 Web 服务器流和客户端凭证流(两个场景)。Oauth 身份验证可以配置为 HTTP 1.0/HTTP 1.1 传输。 对于 REST 客户机,它是在 HTTP Options 选项卡下配置的。对于消息传递客户机,它是在 Transport 选项卡下配置的。 OAuth(打开授权)是一个身份验证协议,给用户提供了一个方法,该方法授权第三方应用程序在不需要登录凭证的情况下访问其私有资源。还提供了一个限制可访问信息数量的方法。该协议用于处理暴露给第三方应用程序的登录凭证。 OAuth 基于传统的 C/S 身份验证模型,但是引入了到该模型的第三方:用户(也称为资源所有者)。在传统的 C/S 身份验证模型中,客户端直接访问服务器承载的资源。在 OAuth 模型中,客户端必须获得资源所有者的权限之后才能访问服务器的资源。此权限以令牌和匹配共享密钥的形式表示。 例如,假设用户(资源所有者)希望授权打印服务(客户端)访问其存储在照片共享服务(服务端)的私有图片。代替向打印服务显示用户的登录凭证,用户可以直接执行 Oauth 身份验证以获得访问其私有图片的打印服务权限。 这将分三个阶段进行: 使用 OAuth 1.0a 涉及以下常规步骤: 以下示例使用 REST 客户端向服务器发送请求消息。注意,消息传递客户端可以以相同方式使用 Oauth 1.0a。 从服务提供程序中获取并授权请求令牌 将请求令牌交换为访问令牌 签名 OAuth 请求以访问所保护资源 OAuth 2.0 与上一个版本(OAuth 1.0a)相比,得到了显著地简化。由于 OAuth 2.0 完全是一个新的协议,所以与 OAuth 1.0a 不逆向兼容。然而,它共享相同且全面的体系结构和方法,以给用户提供授权第三方应用程序访问私有资源的方法,而无需显示登录凭证。 若想了解 OAuth 2.0 中引入的更改,请在 http://tools.ietf.org/html/draft-ietf-oauth-v2-20中查阅工作草图。 使用 OAuth 2.0 涉及以下常规步骤: 以下示例使用 REST 客户端向服务器发送请求消息。注意,消息传递客户机可以以相同的方式使用 OAuth 2.0。 请求身份验证 获取访问令牌 访问受保护的资源配置 HTTP 1.0 设置
General
${var_name}
语法访问数据源值。也可以使用指定的环境变量。有关环境的更多详情,请查阅 在不同的环境中配置测试 和 配置虚拟化环境。
URL Parameters
Security
HTTP Headers
Host
Content-Type
Content-Length
SOAPAction
Authorization
Connection
Keep-Alive
。如果启用了 Close connection ,将不会发送该数据头(默认选项)。对于 NTLM 和 Digest HTTP 身份验证,必须启用 Keep-Alive。Proxy-Authorization
Cookies
使用 Oauth 身份验证
关于 OAuth
使用 OAuth 1.0a
一旦浏览器启动了,它将显示托管受保护资源的服务器的登录页面。 使用 OAuth 2.0
code
。该值应该根据上一步骤中的文本数据库提取信息进行参数化。
Overview
Content Tools