Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SVC2020.1

...

Table of Contents
maxLevel1

了解提取信息和验证

在浏览器内容视图器工具中,这将自动添加到浏览器记录的每个场景步骤中,您可以单击呈现视图中的页面元素并自动在这些元素上设置功能测试。如果在随后的回放中验证不满足,则关联的场景步骤将失败。

...

Note

也可以 记录路径时从 Web 浏览器中提取 path 元素。要做到这一点,右键单击浏览器中的元素并从快捷菜单中选择 Configure Validations 。将打开一个 Validation Options 对话框。此对话框中的选项将与在至少一次记录和重播路径 之后 出现的浏览器内容视图器工具中的选项相同。

验证或存储值

若要验证或存储呈现页面中表现的值,请完成浏览器内容视图器工具配置面板(可以通过双击工具节点进行访问)或操作后浏览器内容(Post-Action Browser Contents)选项卡中的以下内容(仅针对提取信息):

  1. 右键单击要验证或存储值的页面元素(比如,右键单击链接),然后从快捷菜单中选择 Extract Value from <element> Element…
  2. 在打开的向导中,请确保选中了 Property name 框中的所需属性。
  3. 如果希望“放大”要提取的值,请完成隔离部分值向导页面。如果希望验证或存储完整字符串,则可以忽略这点。
    • 有些您可以只希望验证或发属性值的一部分到数据源中。  如果真是这样的话,可以通过选择 Isolate Partial Value using Text Boundaries 多选框,隔离要使用的属性值。然后输入 Left-handRight-hand 文本,以作为输入值的边界值。预览窗格将基于输入的边界值向您显示要使用的值。例如,假设属性值为 "Click here to log in”:
      • 若要隔离值“Click”,请保留左侧边界空白并在右侧边界中输入“ here”(包括空格)。
      • 若要隔离值“here”,请在左侧边界中输入“Click “,在右侧边界中输入“to”(再次包括空格)。
      • 若要隔离值“in”,请输入“log “(包括空格)作为左侧边界,并保留右侧边界为空白。
  4. 若要验证值:
    1. 请选择 验证 该值
    2. 从下面预期值选项中进行选择:
      • equals: 验证属性值是否完全匹配预期值。
      • does not equal: 验证属性值是否不匹配特定值。
      • contains: 验证属性值是否包含预期值。
      • starts with: 验证属性值是否以预期值开始。
      • ends with: 验证属性值是否以预期值结尾。
      • is less than: 验证属性值是否小于特定值。
      • is greater than: 验证属性值是否大于特定值。
      • is not present: 验证特定属性是否没有出现在页面上,如果是将报告一个错误。对于 web 应用程序显示不应该显示的错误消息,此选项非常有用。
      • matches color: 验证颜色值是否对应于验证颜色映射文件中指定的颜色名称。有关更多详情,请查阅 Validating Color Elements
    3. 选择 Fixed, Parameterized,Scripted ,然后指定一个值。
      • 如果选择了 Parameterized 选项,则可以从该数据源中指定列名。  当回放场景时,预期值将从数据源中的合适行和列中获取。列名只会显示一个数据源,所以如果项目中存在多个数据源,则需要进入链接的浏览器验证工具,然后修改面板顶部使用的数据源。如果因为其他提取的列名是从不同的 HTML 页面中提取的,所以可用,则即使项目没有定义数据源,它们也将出现在可用列名列表中。
  5. 若要将所选定属性的值发送到数据源中(如此便可后续在另一个场景或另一个工具中使用该值):
    1. 选择 Extract the value to a data bank
    2. 指定哪个数据源列包含提取的值。
      Custom column name:告诉 SOAtest 存储值的数据源列名。除非指定了其他位置,否则值存储在内部数据源中(比如,如果选择 Writable data source columnVariable)。这是您将在其他地方引用该值时使用的名称。例如,如果该值存储在名为 My Value 的数据源列中,则应选择 My Value 作为参数化值。也可以引用其作为文字相应视图或多响应视图中的 ${My Value}



      Writable data source column:告诉 SOAtest 将值存储在可编写的数据源列中(有关更多详情,请查阅Configuring a Writable Data Source )。这允许存储数组形式的值。然后其他工具对存储的值进行遍历。

      Write to all columns that match: 告诉 SOAtest 将值存储在所有列名中包含给定字符串的列中。当提取消息中的多个值时,每个值将写入所有匹配的列。相反,如果选择一个可写数据源列(上面的选项),那么值将跨多行写入列。

      Variable: 告诉 SOAtest 将值保存在特定值中,以便它可以在跨当前测试套件中重复使用。变量必须已经被添加到当前测试套件中,如Defining Variables中所述。以这种方式设置的任何值都将覆盖测试套件属性面板中指定的任何局部变量值。

      当执行场景步骤时,属性值将从页面提取,并被放置入指定名称列中的临时数据源。  当场景后部分引用列名时,存储在临时数据源中的值将用于这些场景步骤。  如果需要,可以同时验证并发送属性值到数据源中。
  6. 单击 Finish

...

Info
iconfalse
title需要处理动态属性值?

处理动态属性值的一个方法是使用部分字符串 XPath。若要使用 XPath,请确保将浏览器验证工具的元素定位器设置为 Use XPath,然后指定合适的 XPath。有关使用 Xpath 的更多详情,请查阅XPath 参考资料Reference 有关使用部分字符串 Xpath 的更多详情,请查阅Handing Dynamic Attribute Values:支持动态属性值 - 使用 XPath 匹配部分字符串Handing Dynamic Attribute Values - Partial String Matching Using XPathPartial String Matching Using XPath.

Info
iconfalse
title想要以字符串的形式访问 HTML 内容吗?

可以使用 input.getHTML() 检索浏览器窗口或框架的 HTML。  请查阅 com.parasoft.api.BrowserContentsInput 的 Javadoc。可以通过选择 Parasoft> Help,然后查找书名为“Parasoft SOAtest Extensibility API”的图书,访问 Javadoc。

例如,下面是搜索 RFC 标题的 JavaScript。

Code Block
// input: com.parasoft.api.BrowserContentsInput. 
// context: com.parasoft.api.ExtensionToolContext. 
function validateRfcText(input, context) {
  var html = input.getHTML();
  var rfc = context.getValue("ds", "rfc");
  // Extract the numeric part of the RFC.
  // From "RFC5280" extract "5280".
  // From search("\\d") returns the index of the first digit in rfc.   
  // See a reference on JavaScript regular expressions.
  // Alternatively hard-code rfc.substring(3),
  var rfcNumber = rfc.substring(rfc.search("\\d"));
  var title = "Request for Comments: " + rfcNumber;
  if (html.indexOf(title) < 0) {
    context.report("HTML does not contain title: " + title);
  }
}

如果配置了验证...

浏览器验证工具将链接到测试。此工具将执行验证。如果后续希望修改验证,则可以通过修改此工具设置实现。 

验证源的元素在浏览器内容视图器和浏览器验证工具的操作后浏览器内容选项卡中将以实心红色边框突出显示。 

如果配置了提取信息...

浏览器数据库工具将链接到浏览器回放工具中。此工具将存储提取的值。在任何允许参数化值的地方都可以使用提取的值,比如要在后续测试步骤或另一个工具中输入的值。如果后续希望修改存储的值,则可以通过修改此工具设置实现。

提取源的元素在浏览器内容视图器和浏览器验证工具的操作后浏览器内容选项卡中将以实心灰色边框突出显示。 

如果既配置了验证,也配置了提取信息...

浏览器验证工具和浏览器数据库工具将链接到如上所述的测试中。此外,将使用紫色虚线突出显示源元素。

专门化的提取信息/验证

验证或提取文本

若要验证页面上出现的文本(或将文本提取到浏览器数据库),请完成以下内容:

  1. 选择要验证或提取的文本。
  2. 右键单击选择项,然后选择其中一项以下内容:
    • 若要配置该文本的验证,则从快捷菜单中选择 Validate Selected Text
    • 若要配置该文本的提取信息,则从快捷菜单中选择 Extract Selected Text into Data Bank
  3. 请确保打开的对话框中出现所需的验证/提取信息设置。
  4. 单击 Finish

验证 color 元素
Anchor
Validating Color Elements
Validating Color Elements

若要创建验证页面颜色的测试,请完成以下内容:

  1. 右键单击要创建测试的页面元素(比如,右键单击链接),然后从快捷菜单中选择 Extract Value from <element> Element…
  2. 在打开的向导中,请确保选中了 Property name 框中的 style_color 属性,然后双击 Next
  3. 在验证或存储值向导页面中,从 Expected Value 下拉菜单中选择 matches color ,并在 text 字段中输入颜色(如,“red”)。 matches color 选项验证颜色值是否对应于验证颜色映射文件中指定的颜色名称。  这些映射可以用十六进制表示,也可以用 RGB 表示 -- rgb(0, 255, 0)。有关更多详情,请查阅 验证或存储值 Validation Colors Mapping File
  4. 单击 Finish

执行测试时,执行颜色验证。

验证颜色映射文件
Anchor
Validation Colors Mapping File
Validation Colors Mapping File

在产品安装中,有一个名为“验证颜色映射文件”的文件。  该文件定义 SOAtest 如何按名称验证颜色。  它位于 <SOAtest_Installation_Directory>/plugins/com.parasoft.xtest.libs.web_<soatest_version>/root/validation/validationColors.txt。

...

为了该文件上的更改生效,必须重启 SOAtest。

验证样式属性

若要验证样式属性,请打开浏览器验证工具的配置面板,然后将验证的 Element Property  设置为值 "style_" + <the JavaScript name of the property>。例如,若要验证 text-decoration 样式元素,则在 Element Property 字段中指定 style_textDecoration (其中textDecoration 是指定样式元素 text-decoration的 JavaScript 方法),并使用 Expected Value 控件指定属性所需值。  在 text-decoration 情况中,预期值可能等于 line-throughunderline

验证风格列表文件

如果希望在验证向导中将某个风格属性作为可用属性显示,则可以将该风格添加至验证风格列表中。

...

使用其中一个这些属性的验证设置将验证该样式属性的运行时值。  这是在应用了所有内联样式和 CSS 文件中定义的样式之后属性的运行时值。  为此,该值可能与元素中内联定义的值不同。  例如,这些运行时样式验证允许定义用户在浏览器处理所有样式之后看见的实际颜色。

自定义验证失败时显示的消息

关于每个验证,如果验证失败,SOAtest 将会自动配置要在质量任务视图(和报告)中显示的消息。此消息通常类似于 "Validation failed for property [property_name]: Actual value found on the page [actual value]" must be equal to expected value [expected value]."

...

  1. 打开要配置的浏览器验证工具的配置面板。
  2. 清除 Use default message 选项。
  3. 在 text 字段中指定所需消息。可以使用您喜欢的任何文本,也可以使用两个关键字:
    • ${ActualValue} - 将被 HTML 页面上发现的实际值代替。
    • ${ExpectedValue} - 将被预期值(可以是固定的、参数化的或脚本化的)代替。

查看测试执行期间使用的存储变量

可以配置控制台视图(Window> Show View> Console),显示测试执行期间使用的存储的数据库变量。有关更多详情信息,请查阅控制台视图

使用 XPath 配置自定义验证

XPath 可以用于指定复杂的验证。若要使用 XPath,请确保将浏览器验证工具的元素定位器设置为 Use XPath,然后指定合适的 XPath。有关使用 XPath 的更多详情,请查阅 XPath 参考资料Reference

使用脚本配置自定义验证

如果希望执行 GUI 空不能正确表示的复杂验证,则可以使用脚本来表示它们。为此,将浏览器验证工具的元素定位器更改为 Use Script,然后指定合适脚本。

...