本主题介绍如何创建可全局共享和引用的 JMS、XPath、SOAP 头和数据库属性,以及全局身份验证、密钥库、工具和 WS-policy 库。章节目录:
Table of Contents | ||
---|---|---|
|
全局 HTTP 连接属性
使用多种工具创建大型测试套件时,在某些情况下,某些工具(例如,SOAP 客户端、消息传送客户端和回调工具)可能会使用相同的 JMS 连接属性。您可能希望多个工具使用相同的 JMS 连接属性。而不是手动将相同的信息输入到每个工具中,或者在两个工具之间进行复制和粘贴设置。这可能更易于创建每个工具能引用的 JMS 设置。在这种情况下,可以在测试或操作套件级别创建全局 JMS 连接属性。若要创建全局 JMS 属性,请完成以下内容:
选择所需的节点,点击工具栏中的添加属性
。- 在添加全局向导中,选择 全局属性> JMS 连接属性,点击完成。将打开一个属性节点,JMS 连接属性面板显示在 GUI 的右侧。
- 在 JMS 连接属性面板中指定设置:
- (可选项)在名称字段中输入新名称。名称将显示在引用这些属性的工具中。可以为 JMS 连接属性创建多个全局引用,这样您指定的名称应该直观地反映它的使用方式。
点击为所有测试添加属性按钮(如果不点击,则套件中的工具将忽略添加的全局属性)。如果从相应下拉菜单中选择仅使用共享属性,则套件中相应的工具只能使用您所添加的全局属性, 以及在单个工具中配置的任何属性。
- 在提供者 URL 字段中,指定 JMS 管理对象的位置。
- 在初始化环境字段中,指定包含所有 JMS 属性映射的 Java 类。
- 在连接工厂字段中,指定用于从初始化环境查找特定于 MOM 的工厂的键。这可以是队列连接工厂,也可以是主题连接工厂。
- 在身份验证区域,启用执行身份验证并输入用户名和密码,以对请求进行身份验证。如果未使用正确的用户名和密码,则不会对请求进行身份验证。
Info | ||
---|---|---|
| ||
指定全局 JMS 连接属性之后,可以在这些 SOAtest 工具的多个示例中共享这些属性。 |
全局忽略 Xpath 属性
与全局 JMS 属性一样,当拥有多个使用相同 Xpath 设置的比较工具时,可能会有一些实例。您可能希望多个比较工具使用相同的 XPath 设置。而不是手动将相同的信息输入到每个比较工具中,或者在两个比较工具之间进行复制和粘贴设置。这可能更易于创建每个比较工具能引用的 XPath 设置。在这种情况下,可以在操作或测试套件级别创建全局 Xpath 属性。
若要创建全局 JMS 忽略属列表性,请完成以下内容:
选择相应套件节点,点击工具栏中的添加属性
。- 在添加全局向导中,选择全局属性> 忽略的 XPath,点击完成。将打开一个属性节点,忽略的 Xpath 面板将显示在 GUI 的右侧。
- 在忽略 XPaths 面板中指定设置,如下所示:
- 如果希望更改默认名称,请在名称中输入新名称。这将是在要引用这些 XPaths 的比较工具中显示的名称。因为可以为 XPaths 创建多个全局引用列,所以输入的名称应该对它的使用很直观。
点击添加属性到所有测试(如果不点击,套件中的工具将忽略添加的全局属性)并从相应下拉菜单选择一个选项:
仅使用共享属性:选择后,套件中相应的工具将只能使用您所添加的全局属性。
使用本地和共享属性:选择后,套件中相应的工具将能使用您所添加的全局属性,以及在单个工具中配置的任何属性。
- 点击添加。将在忽略的 Xpath 列表的 Xpath 列中出现一个空字段。默认情况下,设置列自动填充指定的所有 XPath 操作,意味着您添加的整个 Xpath 都将被忽略。
双击 Xpath 列。打开忽略的 Xpath 设置对话框。指定一个 Xpath 位置。输入的 Xpath 可以在套件中多个比较工具之间共享。如果希望忽略元素 Xpath 位置上的多个属性,请将属性保留为空或使用通配符 *(例如,myAttribute*)。
全局 SOAP 头属性
使用多个工具创建大型测试套件时,在某些情况下,SOAP 客户端测试可能会使用相同的 SOAP 头属性。您可能希望多个工具使用相同的 SOAP 头属性。而不是手动将相同的信息输入到每个工具中,或者在两个工具之间进行复制和粘贴设置。这可能更易于创建每个工具能引用的 SOAP 头。在这种情况下,可以在测试或操作套件级别创建全局 SOAP 头属性。
若要创建全局 SOAP 头,请完成以下内容:
选择相应套件节点,点击工具栏中的添加属性
。- 在添加全局向导中,选择全局属性> SOAP Headers,点击完成。将打开一个属性节点,SOAP 头面板将显示在 GUI 的右侧。
- 在 SOAP 头面板中指定设置,如下所示:
- 如果希望更改默认名称,请在名称字段中输入新名称。
点击添加属性到所有测试(如果不点击,套件中的工具将忽略添加的全局属性)并从相应下拉菜单选择一个选项:
仅使用共享属性:选择后,套件中相应的工具将只能使用您所添加的全局属性。
使用本地和共享属性:选择后,套件集中相应的工具将能使用您所添加的全局属性,以及在单个工具中配置的任何属性。
点击添加。将打开一个选择头类型对话框。
- 从可用的头类型列表选择一个 SOAP 头类型并点击 OK。
根据需求配置 SOAP 头参数。有关每个 SOAP 头的更多信息,请参阅在 SOAtest 中添加 SOAP 头。
全局数据库帐户属性
使用多个工具创建大型测试套件时,在某些情况下 DB 工具可能会使用相同的数据库属性。您可能希望多个工具使用相同的数据库属性。而不是手动将相同的信息输入到每个工具中,或者在两个工具之间进行复制和粘贴设置。这可能更易于创建每个工具能引用的数据库账户。在这种情况下,可以在套件级别创建全局数据库帐户属性。
若要创建全局数据库帐户,请完成以下内容:
选择相应套件,点击工具栏中的添加属性
。- 在添加全局向导中,选择全局属性> 数据库账户,点击完成。将打开一个属性节点,数据库帐户面板将显示在 GUI 的右侧。
- 在数据库账户面板中指定设置,如下所示:
- 如果希望更改默认名称,请在名称字段中输入新名称。
点击为所有测试添加属性(如果不点击,套件中的工具将忽略添加的全局属性)并从相应下拉菜单选择一个选项:
仅使用共享属性:选择后,套件中相应的工具将只能使用您所添加的全局属性。
- 使用本地和共享属性:从下拉列表中选择后,套件中相应的工具将能使用您所添加的全局属性,以及在单个工具中配置的任何属性。
- 根据需求配置剩下的数据库账户设置。
- 如果账户设置存储在文件中,请启用文件,然后指定文件的路径。
- 若要刷新/重新加载文件(例如在外部编辑过后),请点击刷新配置设置。
如果希望在此面板中指定设置,请启用本地并指定驱动器设置。请参阅
更多信息,请参阅SOAtest 中的数据库配置参数或 Virtualize 的数据库配置参数
若要将这些值导出到文件中,请点击导出配置设置。一旦值被导出到文件中,则可以通过文件> 输入文件控件导入该文件(如上所述)。通过这种方式,如果要添加相同的帐户到不同的套件,将不必重新定义相同的值。
注意,导出的属性文件包含以下属性:
- driver
- url
- username
- 密码
- close.connection
例如:
version=1
driver=org.hsqldb.jdbcDriver
url=jdbc:hsqldb:hsql://localhost/parabank username=sa
password=dGVzdA==
close.connection=true
- 如果账户设置存储在文件中,请启用文件,然后指定文件的路径。
全局身份验证
您可以将身份验证方法添加到测试套件中,在测试中共享这些方法,而无需为每个测试定义身份验证设置。可根据需要,为测试套件设置默认的身份验证方法,该方法将自动应用于每个测试,个别测试也可配置为使用其他身份验证方法。可以为测试套件创建多种身份验证方法,但只能将其中一种设置为默认方法。
添加共享身份验证方法:
- 右键点击测试套件并选择新建 > 全局属性...。
- 展开身份验证列表并选择一种身份验证方式。
- 如果选择了 OAuth 2.0,请点击下一步并选择授权类型,然后点击完成。对于所有其他类型,只需点击完成。身份验证方式被添加到测试套件的身份验证节点中。如果这是为该测试套件创建的第一个共享身份验证,则会自动创建身份验证节点。
- 会在工作空间中打开一个配置选项卡。完成配置的步骤取决于您选择的身份验证方法:
- Basic
- 在名称字段输入一个易于识别的名称。
- 输入用于此身份验证方式的用户名和密码。
- Digest
- 在名称字段输入一个易于识别的名称。
- 输入用于此身份验证方式的用户名和密码。
- Kerberos
- 在名称字段输入一个易于识别的名称。
- 输入用于身份验证方式的服务主体。
- 有关 Kerberos 身份验证的更多信息,请参阅Additional Preference Settings页面的“安全设置”。
- NTLM
- 在名称字段输入一个易于识别的名称。
- 输入用于此身份验证方式的用户名和密码。
- OAuth 1.0
- 在名称字段输入一个易于识别的名称。
- 输入用于此身份验证方式的 Customer Key 和 Customer Secret。
- 从模式下拉菜单中选择身份验证模式。其他需要填写的字段取决于您的选择:
- 获取请求令牌(使用用户密钥和用户隐私向服务器获取请求令牌)
- 作用域:限制可以访问哪些信息。这些信息嵌入到用户密钥中。
- 用请求令牌交换访问令牌(用请求令牌和验证码交换访问令牌)
- 请求令牌:指定从服务器获得的临时请求令牌凭据(用于交换访问令牌)。
- 请求令牌私密: 指定从服务器获得的临时请求令牌凭据(用于交换访问令牌)。
- 验证码:指定服务器提供的验证码;这将确认资源所有者将授予权限。
- 签署 OAuth 身份验证请求(使用指定的访问令牌和访问令牌 Secret,允许客户端访问用户的私有资源)
- 访问令牌:指定用于允许客户端访问用户私人资源的访问令牌。
- 访问令牌私密:指定用于允许客户端访问用户私人资源的访问令牌密钥。
- 获取请求令牌(使用用户密钥和用户隐私向服务器获取请求令牌)
在参数下添加其他 OAuth 参数(例如时间戳和随机数)。
有关在功能测试中使用 OAuth 1.0 的更多信息,请参阅OAuth Authentication。
- OAuth 2.0
- 在名称字段输入一个易于识别的名称。
- 选择授权类型。其他需要填写的字段取决于您的选择:
- 登录套件:标识您为获取 OAuth 2.0 授权码而配置的测试。该测试应根据需要配置为接受该配置中的 OAuth 设置,包括重定向 URI、客户端 ID、范围和/或客户。执行测试后,授权码会自动交换为访问令牌,以便在后续 API 测试中使用。此字段只有在所选授权类型为
Authorization Code
或Authorization Code with PKCE
时才会出现。 - 重定向 URI:指定 OAuth 2.0 安全应用程序的 URI,OAuth 服务器可能需要该 URI 来获取授权码并交换令牌。SOAtest 实际上不会向该 URI 发送请求。此字段只有在所选授权类型为
Authorization Code
或Authorization Code with PKCE
时才会出现。 - 令牌 URI:标识 OAuth 2.0 授权服务器上的访问令牌端点。
- 客户端 ID:这些参数与客户端密码一起,提供了通过授权服务器进行身份验证的凭据。
- 客户端密码:这些参数与客户端 D 一起,提供了通过授权服务器进行身份验证的凭据。
- 作用域:客户端使用此参数来请求对应用程序的受限访问。可以输入一系列以逗号分隔的授权服务器特定值。如果没有指定范围,则可能返回默认范围。
- 客户:指定资源服务器的 URI。
- 代码验证器:指定生成代码验证器的方法。默认设置为
自动
(推荐设置)。如果使用其他方式,结果应该是一个加密随机字符串,使用 A-Z、a-z、0-9 字符以及标点符号 - 。_ ~(连字符、句点、下划线和波浪号),长度为 43 到 128 个字符。此字段只有在所选授权类型为Authorization Code with PKCE
时才会出现。 - Challenge 方法:指定代码验证器纯文本版本或代码校验器 SHA-256 版本的 code challenge。此字段只有在所选授权类型为
Authorization Code with PKCE
时才会出现。
- 登录套件:标识您为获取 OAuth 2.0 授权码而配置的测试。该测试应根据需要配置为接受该配置中的 OAuth 设置,包括重定向 URI、客户端 ID、范围和/或客户。执行测试后,授权码会自动交换为访问令牌,以便在后续 API 测试中使用。此字段只有在所选授权类型为
选择使用消息头或查询参数发送访问令牌。 有关在功能测试中使用 OAuth 2.0 的更多信息,请参阅OAuth Authentication。
- Basic
全局密钥库
Anchor | ||||
---|---|---|---|---|
|
密钥库包含通过服务器/客户端身份验证、XML加密和 XML 数字签名等方式执行安全 Web 服务所需的必要证书和私有密钥。在密钥库中指定的值可与 SOAP 客户端、XML 加密和 XML 签名器一起使用。
SOAP 客户端工具可以使用密钥库证书来完成与服务器的握手。XML 加密工具可以使用密钥库证书加密 XML 文档。XML 签名器可以使用密钥库证书和私钥在 XML 文档中签名并识别身份。
Info | ||
---|---|---|
| ||
若要使用密钥库,则需下载并安装无限强度的 Java 加密扩展(Unlimited Strength Java Cryptography Extension)。详情请参阅 JCE 前提条件。 |
MQ SSL
如果正在为 MQ 配置全局测试套件属性,则需要配置密钥库和一个信任库。在密钥库设置中,只需要填写证书选项卡。证书别名字段不做要求。私有密钥选项卡不适用于 MQ SSL。
本地密钥库配置
本地密钥库配置与测试套件中的所有客户端和工具有关。
- 右键点击测试套件浏览器中的测试套件,并选择 新建> 全局属性。
- 选择全局密钥库,然后点击完成。具密钥库子项的密钥库节点将被添加到测试用例中。
- 如果希望更改默认名称,请在名称字段中输入新名称。
- 选择本地选项,并在密钥库面板的证书选项卡中指定以下设置:
- 如果密钥库包含证书的私钥,则选择使用相同的密钥存储私有密钥选项。
- 在密钥存储文件字段中指定密钥库文件。启用保留为相对路径,将文件作为相对路径保存(例如,促进项目共享)。
- 在密钥库密码字段中指定密钥库密码。
- 在密钥存储类型下拉菜单中选择要使用的密钥库类型。(例如,JKS、PKCS12、BKS、UBER、PEM)。
- 点击加载将可用的证书/密钥填入别名中。如果路径、类型和密钥库密码无效,则不会加载证书/密钥。
- 在证书别名下拉菜单中选择证书别名。
- 点击私钥选项卡。
- 如果证书选项卡中的为私有密钥使用相同的密钥库为禁用状态(请查看步骤 4.a-4.d),请在适当的字段中指定密钥存储文件、密钥存储密码以及密钥存储类型。
- 点击加载将可用的证书/密钥填入别名中。如果路径、类型和密钥库密码无效,则不会加载证书/密钥。
- 在私有密钥密码字段中指定私钥密码,然后保存此变更。
如果密钥库文件在外部编辑过,请点击刷新配置设置以重新加载配置字段,以便全局密钥库使用最新的值。
导出全局密钥库配置
配置全局密钥库后,可以将设置导出到 .properties 文件,并引用其他 .tst 文件中的设置,这样就不必为项目中的每个套件都配置相同的密钥库设置。
- 配置本地密钥库设置,然后点击导出配置设置。
- 出现提示时,选择一个名称来保存 .properties 配置文件的位置。
导入全局密钥库配置
可以引用从其他测试场景导出的密钥库配置。这让您只需配置一次证书设置便可在项目中共享。如果源密钥库配置 .properties 文件更新了,则引用该文件的测试用例也会随着更新。
- 右键点击测试套件浏览器中的测试套件,并选择 新建> 全局属性。
- 选择全局密钥库,然后点击完成。具密钥库子项的密钥库节点将被添加到测试用例中。
- 如果希望更改默认名称,请在名称字段中输入新名称。
- 选择文件选项,然后浏览到密钥库配置 .properties 文件。
- 保存变更。
Anchor | ||||
---|---|---|---|---|
|
您可以在测试套件中添加全局工具(如数据库),并在整个测试场景中根据需要引用工具,这样就不必每次都重新创建。
- 右键点击测试套件并选择新建 > 全局属性...。
- 从全局工具菜单中选择一个工具,点击完成。在测试用例浏览器树结构中将显示一个新的工具节点。
- 在工具配置面板中自定义工具设置。
- 可以将附加工具链接到该工具,如添加单个输出中所述。
若要在测试中使用全局工具,则在添加工具或输出时,便从可用的已有工具选中它。
如果要删除的全局工具被套件中的其他工具或全局工具引用,系统会提示您同时删除相应的引用。
如果您选择删除工具但保留引用,那么引用将被停用并保留在套件中。如果添加了与已删除工具同名的新全局工具,则将重新启用引用。
全局 WS-Policy 银行
Web 服务最大的方面之一是互操作性。web 服务依赖于标准化的接口来声明必须满足什么样的需求,以便服务使用者与服务提供者进行交互。基本 WSDL 规范不能声明负载的客户端需求。为了适应这种情况,使用 WS-Policy 和 WS-PolicyAttachment 扩展的 WSDL 允许服务提供者在 WSDL 内定义额外的需求。WS-Policy 让其他 WS-* 规范定义自己的策略集。这样的规范是 WS-SecurityPolicy,它定义了与 WS-Security 相关的策略。
读取具有 SecurityPolicy 扩展的 WSDL 时,SOAtest 使用所有必要的策略相关配置自动生成测试用例。一些测试用例的属性仍然存在需要手动配置,但是 SOAtest 会自动建立基础。
Note | ||
---|---|---|
| ||
WS-Policy 是一个轻量级规范。它将策略设计委托给 WS-* 规范;此外,还存有大量的专有策略。由于 WS-* 控件很大,所以 SOAtest 只支持 WS-SecurityPolicy 断言但将继续继承处理器来处理其他公共断言集。 |
若要添加 WS-Policy 银行,请完成以下内容:
- 选择相应测试套件节点,点击工具栏中的添加属性 。
- 在添加全局向导中,选择 WS-Policy 库,然后点击完成。测试用例浏览器树结构中将显示一个新的 WSDL 策略节点(位于 WS-Policy 库分支下,如果该分支还不存在则会添加),GUI 右侧将显示一个 WSDL 策略配置面板,多个 WS-security 测试将会连接到该 SOAP 客户端工具。
- 在 WSDL 策略面板中指定设置,如下所示:
- 如果希望更改默认名称,请在名称字段中输入新名称。
- 在 WSDL URI 中,指定可以访问 Web 服务的 WSDL URI。可以输入 WSDL 或点击浏览。
- 点击刷新 WSDL 以刷新给定位置 URL 中的 WSDL,并重新解析。
- 在全局策略区域,以非 XML 格式查看策略定义,以及您的 WSDL 所隐含的策略选择。左侧树中每个部分都表示 WSDL 中的一个全局策略元素