本主题介绍如何创建可全局共享和引用的 JMS、XPath、SOAP 头和数据库属性,以及全局身份验证、密钥库、工具和 WS-policy 库。章节目录:

全局 HTTP 连接属性

使用多种工具创建大型测试套件时,在某些情况下,某些工具(例如,SOAP 客户端、消息传送客户端和回调工具)可能会使用相同的 JMS 连接属性。您可能希望多个工具使用相同的 JMS 连接属性。而不是手动将相同的信息输入到每个工具中,或者在两个工具之间进行复制和粘贴设置。这可能更易于创建每个工具能引用的 JMS 设置。在这种情况下,可以在测试或操作套件级别创建全局 JMS 连接属性。若要创建全局 JMS 属性,请完成以下内容:

  1. 选择所需的节点,点击工具栏中的添加属性

  2. 在添加全局向导中,选择 全局属性> JMS 连接属性,点击完成。将打开一个属性节点,JMS 连接属性面板显示在 GUI 的右侧。
  3. 在 JMS 连接属性面板中指定设置:
    1. (可选项)在名称字段中输入新名称。名称将显示在引用这些属性的工具中。可以为 JMS 连接属性创建多个全局引用,这样您指定的名称应该直观地反映它的使用方式。
    2. 点击为所有测试添加属性按钮(如果不点击,则套件中的工具将忽略添加的全局属性)。如果从相应下拉菜单中选择仅使用共享属性,则套件中相应的工具只能使用您所添加的全局属性, 以及在单个工具中配置的任何属性。

    3. 提供者 URL 字段中,指定 JMS 管理对象的位置。 
    4. 初始化环境字段中,指定包含所有 JMS 属性映射的 Java 类。
    5. 连接工厂字段中,指定用于从初始化环境查找特定于 MOM 的工厂的键。这可以是队列连接工厂,也可以是主题连接工厂。
    6. 身份验证区域,启用执行身份验证并输入用户名密码,以对请求进行身份验证。如果未使用正确的用户名和密码,则不会对请求进行身份验证。

仅 SOAP 客户端、消息传送客户端和回调工具才可引用全局 JMS 连接属性

指定全局 JMS 连接属性之后,可以在这些 SOAtest 工具的多个示例中共享这些属性。

全局忽略 Xpath 属性

与全局 JMS 属性一样,当拥有多个使用相同 Xpath 设置的比较工具时,可能会有一些实例。您可能希望多个比较工具使用相同的 XPath 设置。而不是手动将相同的信息输入到每个比较工具中,或者在两个比较工具之间进行复制和粘贴设置。这可能更易于创建每个比较工具能引用的 XPath 设置。在这种情况下,可以在操作或测试套件级别创建全局 Xpath 属性。

若要创建全局 JMS 忽略属列表性,请完成以下内容:

  1. 选择相应套件节点,点击工具栏中的添加属性

  2. 在添加全局向导中,选择全局属性> 忽略的 XPath,点击完成。将打开一个属性节点,忽略的 Xpath 面板将显示在 GUI 的右侧。
  3. 在忽略 XPaths 面板中指定设置,如下所示:
    1. 如果希望更改默认名称,请在名称中输入新名称。这将是在要引用这些 XPaths 的比较工具中显示的名称。因为可以为 XPaths 创建多个全局引用列,所以输入的名称应该对它的使用很直观。
    2. 点击添加属性到所有测试(如果不点击,套件中的工具将忽略添加的全局属性)并从相应下拉菜单选择一个选项:

      • 仅使用共享属性:选择后,套件中相应的工具将只能使用您所添加的全局属性。

      • 使用本地和共享属性:选择后,套件中相应的工具将能使用您所添加的全局属性,以及在单个工具中配置的任何属性。

    3. 点击添加。将在忽略的 Xpath 列表的 Xpath 列中出现一个空字段。默认情况下,设置列自动填充指定的所有 XPath 操作,意味着您添加的整个 Xpath 都将被忽略。
    4. 双击 Xpath 列。打开忽略的 Xpath 设置对话框。指定一个 Xpath 位置。输入的 Xpath 可以在套件中多个比较工具之间共享。如果希望忽略元素 Xpath 位置上的多个属性,请将属性保留为空或使用通配符 *(例如,myAttribute*)。

全局 SOAP 头属性

使用多个工具创建大型测试套件时,在某些情况下,SOAP 客户端测试可能会使用相同的 SOAP 头属性。您可能希望多个工具使用相同的 SOAP 头属性。而不是手动将相同的信息输入到每个工具中,或者在两个工具之间进行复制和粘贴设置。这可能更易于创建每个工具能引用的 SOAP 头。在这种情况下,可以在测试或操作套件级别创建全局 SOAP 头属性。

若要创建全局 SOAP 头,请完成以下内容:

  1. 选择相应套件节点,点击工具栏中的添加属性

  2. 在添加全局向导中,选择全局属性> SOAP Headers,点击完成。将打开一个属性节点,SOAP 头面板将显示在 GUI 的右侧。
  3. 在 SOAP 头面板中指定设置,如下所示:
    1. 如果希望更改默认名称,请在名称字段中输入新名称。
    2. 点击添加属性到所有测试(如果不点击,套件中的工具将忽略添加的全局属性)并从相应下拉菜单选择一个选项:

      • 使用共享属性:选择后,套件中相应的工具将只能使用您所添加的全局属性。

      • 使用本地和共享属性:选择后,套件集中相应的工具将能使用您所添加的全局属性,以及在单个工具中配置的任何属性。

    3. 点击添加。将打开一个选择头类型对话框。

    4. 从可用的头类型列表选择一个 SOAP 头类型并点击 OK
    5. 根据需求配置 SOAP 头参数。有关每个 SOAP 头的更多信息,请参阅在 SOAtest 中添加 SOAP 头

全局数据库帐户属性

使用多个工具创建大型测试套件时,在某些情况下 DB 工具可能会使用相同的数据库属性。您可能希望多个工具使用相同的数据库属性。而不是手动将相同的信息输入到每个工具中,或者在两个工具之间进行复制和粘贴设置。这可能更易于创建每个工具能引用的数据库账户。在这种情况下,可以在套件级别创建全局数据库帐户属性。

若要创建全局数据库帐户,请完成以下内容:

  1. 选择相应套件,点击工具栏中的添加属性

  2. 在添加全局向导中,选择全局属性> 数据库账户,点击完成。将打开一个属性节点,数据库帐户面板将显示在 GUI 的右侧。
  3. 在数据库账户面板中指定设置,如下所示:
    1. 如果希望更改默认名称,请在名称字段中输入新名称。
    2. 点击为所有测试添加属性(如果不点击,套件中的工具将忽略添加的全局属性)并从相应下拉菜单选择一个选项:

      • 仅使用共享属性:选择后,套件中相应的工具将只能使用您所添加的全局属性。

      • 使用本地和共享属性:从下拉列表中选择后,套件中相应的工具将能使用您所添加的全局属性,以及在单个工具中配置的任何属性。
    3. 根据需求配置剩下的数据库账户设置。
      • 如果账户设置存储在文件中,请启用文件,然后指定文件的路径。
        • 若要刷新/重新加载文件(例如在外部编辑过后),请点击刷新配置设置
      • 如果希望在此面板中指定设置,请启用本地并指定驱动器设置。请参阅 

        更多信息,请参阅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


全局身份验证

您可以将身份验证方法添加到测试套件中,在测试中共享这些方法,而无需为每个测试定义身份验证设置。可根据需要,为测试套件设置默认的身份验证方法,该方法将自动应用于每个测试,个别测试也可配置为使用其他身份验证方法。可以为测试套件创建多种身份验证方法,但只能将其中一种设置为默认方法。

添加共享身份验证方法:

  1. 右键点击测试套件并选择新建 > 全局属性...。 
  2. 展开身份验证列表并选择一种身份验证方式。
  3. 如果选择了 OAuth 2.0,请点击下一步并选择授权类型,然后点击完成。对于所有其他类型,只需点击完成。身份验证方式被添加到测试套件的身份验证节点中。如果这是为该测试套件创建的第一个共享身份验证,则会自动创建身份验证节点。
  4. 会在工作空间中打开一个配置选项卡。完成配置的步骤取决于您选择的身份验证方法:
    • Basic
      1. 名称字段输入一个易于识别的名称。
      2. 输入用于此身份验证方式的用户名密码
    • Digest
      1. 名称字段输入一个易于识别的名称。
      2. 输入用于此身份验证方式的用户名密码
    • Kerberos
      1. 名称字段输入一个易于识别的名称。
      2. 输入用于身份验证方式的服务主体
    • NTLM
      1. 名称字段输入一个易于识别的名称。
      2. 输入用于此身份验证方式的用户名密码
    • OAuth 1.0
      1. 名称字段输入一个易于识别的名称。
      2. 输入用于此身份验证方式的 Customer KeyCustomer Secret
      3. 模式下拉菜单中选择身份验证模式。其他需要填写的字段取决于您的选择:
        • 获取请求令牌(使用用户密钥和用户隐私向服务器获取请求令牌)
          1. 作用域:限制可以访问哪些信息。这些信息嵌入到用户密钥中。
        • 用请求令牌交换访问令牌(用请求令牌和验证码交换访问令牌)
          1. 请求令牌指定从服务器获得的临时请求令牌凭据(用于交换访问令牌)。
          2. 请求令牌私密: 指定从服务器获得的临时请求令牌凭据(用于交换访问令牌)。
          3. 验证码:指定服务器提供的验证码;这将确认资源所有者将授予权限。
        • 签署 OAuth 身份验证请求(使用指定的访问令牌和访问令牌 Secret,允许客户端访问用户的私有资源)
          1. 访问令牌:指定用于允许客户端访问用户私人资源的访问令牌。
          2. 访问令牌私密:指定用于允许客户端访问用户私人资源的访问令牌密钥。
      4. 参数下添加其他 OAuth 参数(例如时间戳和随机数)。
        有关在功能测试中使用 OAuth 1.0 的更多信息,请参阅Oauth 身份验证

    • OAuth 2.0
      1. 名称字段输入一个易于识别的名称。
      2. 选择授权类型。其他需要填写的字段取决于您的选择:
        • 登录套件:标识您为获取 OAuth 2.0 授权码而配置的测试。该测试应根据需要配置为接受该配置中的 OAuth 设置,包括重定向 URI、客户端 ID、范围和/或客户。执行测试后,授权码会自动交换为访问令牌,以便在后续 API 测试中使用。此字段只有在所选授权类型为 Authorization CodeAuthorization Code with PKCE 时才会出现。
        • 重定向 URI:指定 OAuth 2.0 安全应用程序的 URI,OAuth 服务器可能需要该 URI 来获取授权码并交换令牌。SOAtest 实际上不会向该 URI 发送请求。此字段只有在所选授权类型为 Authorization CodeAuthorization 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 时才会出现。
      3. 选择使用消息头查询参数发送访问令牌。 有关在功能测试中使用 OAuth 2.0 的更多信息,请参阅Oauth 身份验证

全局密钥库

密钥库包含通过服务器/客户端身份验证、XML加密和 XML 数字签名等方式执行安全 Web 服务所需的必要证书和私有密钥。在密钥库中指定的值可与 SOAP 客户端、XML 加密和 XML 签名器一起使用。

SOAP 客户端工具可以使用密钥库证书来完成与服务器的握手。XML 加密工具可以使用密钥库证书加密 XML 文档。XML 签名器可以使用密钥库证书和私钥在 XML 文档中签名并识别身份。

需要无限强度 Java 密码学扩展

若要使用密钥库,则需下载并安装无限强度的 Java 加密扩展(Unlimited Strength Java Cryptography Extension)。详情请参阅 JCE 前提条件

MQ SSL

如果正在为 MQ 配置全局测试套件属性,则需要配置密钥库和一个信任库。在密钥库设置中,只需要填写证书选项卡。证书别名字段不做要求。私有密钥选项卡不适用于 MQ SSL。

本地密钥库配置

本地密钥库配置与测试套件中的所有客户端和工具有关。

  1. 右键点击测试套件浏览器中的测试套件,并选择 新建> 全局属性。 
  2. 选择全局密钥库,然后点击完成。具密钥库子项的密钥库节点将被添加到测试用例中。
  3. 如果希望更改默认名称,请在名称字段中输入新名称。
  4. 选择本地选项,并在密钥库面板的证书选项卡中指定以下设置:
    1. 如果密钥库包含证书的私钥,则选择使用相同的密钥存储私有密钥选项。
    2. 密钥存储文件字段中指定密钥库文件。启用保留为相对路径,将文件作为相对路径保存(例如,促进项目共享)。
    3. 密钥库密码字段中指定密钥库密码。
    4. 密钥存储类型下拉菜单中选择要使用的密钥库类型。(例如,JKS、PKCS12、BKS、UBER、PEM)。
    5. 点击加载将可用的证书/密钥填入别名中。如果路径、类型和密钥库密码无效,则不会加载证书/密钥。 
    6. 证书别名下拉菜单中选择证书别名。
  5. 点击私钥选项卡。 
  6. 如果证书选项卡中的为私有密钥使用相同的密钥库为禁用状态(请查看步骤 4.a-4.d),请在适当的字段中指定密钥存储文件、密钥存储密码以及密钥存储类型。 
  7. 点击加载将可用的证书/密钥填入别名中。如果路径、类型和密钥库密码无效,则不会加载证书/密钥。 
  8. 私有密钥密码字段中指定私钥密码,然后保存此变更。

如果密钥库文件在外部编辑过,请点击刷新配置设置以重新加载配置字段,以便全局密钥库使用最新的值。

导出全局密钥库配置

配置全局密钥库后,可以将设置导出到 .properties 文件,并引用其他 .tst 文件中的设置,这样就不必为项目中的每个套件都配置相同的密钥库设置。

  1. 配置本地密钥库设置,然后点击导出配置设置
     
  2. 出现提示时,选择一个名称来保存 .properties 配置文件的位置。

导入全局密钥库配置

可以引用从其他测试场景导出的密钥库配置。这让您只需配置一次证书设置便可在项目中共享。如果源密钥库配置 .properties 文件更新了,则引用该文件的测试用例也会随着更新。

  1. 右键点击测试套件浏览器中的测试套件,并选择 新建> 全局属性。 
  2. 选择全局密钥库,然后点击完成。具密钥库子项的密钥库节点将被添加到测试用例中。
  3. 如果希望更改默认名称,请在名称字段中输入新名称。
  4. 选择文件选项,然后浏览到密钥库配置 .properties 文件。
  5. 保存变更。


全局工具

您可以在测试套件中添加全局工具(如数据库),并在整个测试场景中根据需要引用工具,这样就不必每次都重新创建。 

  1. 右键点击测试套件并选择新建 > 全局属性...。 
  2. 全局工具菜单中选择一个工具,点击完成。在测试用例浏览器树结构中将显示一个新的工具节点。
  3. 在工具配置面板中自定义工具设置。
  4. 可以将附加工具链接到该工具,如添加单个输出中所述。

若要在测试中使用全局工具,则在添加工具或输出时,便从可用的已有工具选中它。

如果要删除的全局工具被套件中的其他工具或全局工具引用,系统会提示您同时删除相应的引用。

如果您选择删除工具但保留引用,那么引用将被停用并保留在套件中。如果添加了与已删除工具同名的新全局工具,则将重新启用引用。

全局 WS-Policy 银行

Web 服务最大的方面之一是互操作性。web 服务依赖于标准化的接口来声明必须满足什么样的需求,以便服务使用者与服务提供者进行交互。基本 WSDL 规范不能声明负载的客户端需求。为了适应这种情况,使用 WS-Policy 和 WS-PolicyAttachment 扩展的 WSDL 允许服务提供者在 WSDL 内定义额外的需求。WS-Policy 让其他 WS-* 规范定义自己的策略集。这样的规范是 WS-SecurityPolicy,它定义了与 WS-Security 相关的策略。

读取具有 SecurityPolicy 扩展的 WSDL 时,SOAtest 使用所有必要的策略相关配置自动生成测试用例。一些测试用例的属性仍然存在需要手动配置,但是 SOAtest 会自动建立基础。

注意

WS-Policy 是一个轻量级规范。它将策略设计委托给 WS-* 规范;此外,还存有大量的专有策略。由于 WS-* 控件很大,所以 SOAtest 只支持 WS-SecurityPolicy 断言但将继续继承处理器来处理其他公共断言集。

若要添加 WS-Policy 银行,请完成以下内容:

  1. 选择相应测试套件节点,点击工具栏中的添加属性
  2. 在添加全局向导中,选择 WS-Policy 库,然后点击完成。测试用例浏览器树结构中将显示一个新的 WSDL 策略节点(位于 WS-Policy 库分支下,如果该分支还不存在则会添加),GUI 右侧将显示一个 WSDL 策略配置面板,多个 WS-security 测试将会连接到该 SOAP 客户端工具。
  3. 在 WSDL 策略面板中指定设置,如下所示:
    1. 如果希望更改默认名称,请在名称字段中输入新名称。
    2. WSDL URI 中,指定可以访问 Web 服务的 WSDL URI。可以输入 WSDL 或点击浏览
    3. 点击刷新 WSDL 以刷新给定位置 URL 中的 WSDL,并重新解析。
    4. 全局策略区域,以非 XML 格式查看策略定义,以及您的 WSDL 所隐含的策略选择。左侧树中每个部分都表示 WSDL 中的一个全局策略元素

  • No labels