Web 2.0 Toolkit Support

测试 Web 2.0 控件的复杂性

Web 2.0 站点通常具有基于客户端交互性框架的功能丰富的用户友好界面。这些站点中的控件通常使用 HTML 和客户端 JavaScript 代码的组合创建,这些代码可创建复杂的交互性应用程序对象。

许多团体和组织已经发布了 Web 2.0 Toolkit。这些工具包均包含了定义 Web 2.0 控件的开放式源代码 JavaScript 库。开发人员可以使用这些工具包或自定义这些工具包来构建 Web 2.0 应用程序,而不必从头开始开发 Web 2.0 控件。

OpenText Functional Testing Web 插件不识别这些复杂控件,而是与组成这些控件的 HTML 元素相关联。这会在一般 Web 测试对象上产生低级步骤。这类步骤很难创建、读取和维护。

返回页首

使用 OpenText Functional Testing Web 2.0 插件支持测试 Web 2.0 控件

通过 OpenText Functional Testing Web 插件扩展性可以开发基于 Web 的插件,这些插件能够以更符合那些控件的预期目的和功能的方式标识 Web 2.0 应用程序中的控件。

OpenText Functional Testing 提供了针对多个公共 Web 2.0 Toolkit 的内置 Web 插件扩展性支持。每个工具包的支持均打包为 Web 插件的子插件。如果要安装 Web 2.0 Toolkit Support,可以通过在插件管理器中选择相关工具包名称,加载此支持。Web 2.0 Toolkit Support Setup 可从 OpenText Functional Testing 安装窗口中的插件扩展性和 Web 2.0 Toolkit 选项或 OpenText Functional Testing 计算机中获取。<Installdir>\Installations\Web2AddinSetup\Web2AddinSetup.exe

每个 Web 2.0 测试对象类支持的操作包括为该测试对象类开发的自定义操作及从对应的(基本)Web 插件测试对象类直接继承的操作。

Web2.0 Toolkit 插件的使用方式与常规 Web 插件的使用方式基本相同。加载工具包支持后,可以在这些工具包中的控件上识别、录制、创建检查点、运行步骤和使用所有标准 OpenText Functional Testing 功能。

OpenText Functional Testing 提供了以下工具包的支持:

  • ASP .NET Ajax

  • Dojo

  • Google Web Toolkit (GWT)

  • jQuery UI

  • Salesforce Lightning

  • Siebel Open UI

  • Yahoo User Interface (Yahoo UI)

  • EXT-JS

有关这些工具包支持的测试对象和操作的详细信息,请参见对象模型参考 的 Web2.0 Toolkit 部分。

返回页首

使用 Web2.0 插件的注意事项

  • jQuery 库注入。Web 2.0 插件支持基于 jQuery JavaScript 库。因此,如果您加载了任何 Web 2.0 插件,则在 OpenText Functional Testing 打开期间,OpenText Functional Testing 会将 jQuery JavaScript 库注入到浏览器中打开的每个网页中(除非页面中已经包含 jQuery 库)。

    为每个 Web 2.0 插件注入的特定 jQuery UI 文件均在插件的工具包 XML 文件中指定,该文件位于: “<OpenText Functional Testing 安装>\dat\Extensibility\Web\Toolkits\<工具包名称>\<工具包名称>.xml”

  • F1 帮助支持。当您在从 Web 插件继承的测试对象操作上按下 F1 后,“帮助”将为操作所继承的 Web 插件测试对象类显示该操作的相关信息,而不为步骤中使用的基于扩展性的测试对象类显示该操作的相关信息。

    另外,帮助文件中的详细信息还介绍了随 OpenText Functional Testing 提供的 XML 文件中的测试对象和操作的行为。如果以任何方式自定义或修改了这些文件,则随 OpenText Functional Testing 提供的帮助文件中的详细信息可能不再准确。

    通常,修改 Web 2.0 Toolkit 的扩展性文件的内容时,还应如下面的自定义规则中所述更改帮助文件。在这些情况下,首次获取支持时,应联系自定义这些文件的个人或组织。

  • 检查点和输出值。仅在录制步骤时支持在 Web 2.0 对象上插入检查点和输出值。

  • 容器对象。Web 应用程序中某些在视觉上或行为上似乎包含其他对象的 Web 2.0 对象不会被识别为测试对象层次结构中的容器对象。例如,YUIDialogBoxGWTDialogBox 测试对象便属于此类情况。

  • 值。使用 Mozilla Firefox 时,selected itemselected 的值在某些 Web 2.0 测试对象类的对象侦测器中不可用。在对象存储库中从应用程序更新属性值时也是如此。这是因为仅当浏览器处于焦点中时才可检索该值。

    变通方法: 在不从浏览器上移除焦点时检索该属性值。例如:

    Browser("Dijit Tree Test").Page("Dijit Tree Test").DojoTree("mytree").Select "Continents;Africa"
    msgbox Browser("Dijit Tree Test").Page("Dijit Tree Test").DojoTree("mytree").
    GetROProperty("selected item")
  • 对象类型标识。在工具包 XML 文件中,相关测试对象类的 <Identification> 部分中的 <HTMLTags><Conditions> 元素定义了 OpenText Functional Testing 将 Web 控件映射到该类的方式。

    在下面的示例中,如果控件具有 <div> HTML 标记,并且具有值与正则表达式匹配的 className HTML 属性,则 OpenText Functional Testing 会将该控件标识为 GWTToggleButton 测试对象(加载了 GWT 插件时): .*gwt-ToggleButton.*

    <Control TestObjectClass="GWTToggleButton">
       <Settings>
       <Variable name="default_imp_file" value="JavaScript\GWTToggleButton.js"/>
       </Settings>
       <Identification>
    	 <Browser name="*">
    	   <HTMLTags>
    	   <Tag name="div"/>
    	   </HTMLTags>
    	   <Conditions type="IdentifyIfPropMatch">
    <!-- The search string in this condition is treated as a regular expression and is therefore equivalent to .*gwt-ToggleButton.*-->
    	    <Condition prop_name="className" expected_value="gwt-ToggleButton" is_reg_exp="true"/>
    	   </Conditions>
    	</Browser>

    在某些情况下(例如,当 <Conditions type="CallIDFuncIfPropMatch"> 时),包含标识条件的 JavaScript 函数还用于帮助将控件映射到测试对象类。

    请谨记,Web 2.0 插件中提供的支持依赖于控件的 HTML 和 DOM 结构。如果基于 Web 2.0 的应用程序的开发人员更改了控件属性的值,则为工具包 XML 文件(或 JavaScript 文件)的 <HTMLTags><Conditions> 元素定义的值可能无法使 OpenText Functional Testing 正确标识那些控件。

    如果 OpenText Functional Testing 未按预期标识应用程序中的对象,则可以在相关工具包支持文件中查看或调整这些值。

    工具包 XML 文件位于: “<OpenText Functional Testing 安装>\dat\Extensibility\Web\Toolkits\<ToolkitName>\<ToolkitName>.xml”

    JavaScript 文件位于上面的文件夹下的 JavaScript 文件夹中。

    如果修改此 (或任何) 扩展性工具包支持集文件,请遵循下面的自定义规则中所述的规则。

    有关 OpenText Functional Testing 标识支持的控件的方式的更多详细信息,以及有关实现支持的操作的信息,请参见相关工具包支持集的 XML 和 JavaScript 文件中提供的注释。

返回页首

自定义规则

如果熟悉 Web 插件扩展性,则可以自定义或进一步扩展内置 Web 2.0 支持,以满足正在测试的 Web 2.0 Toolkit 应用程序的需要。

另外,如果已经安装 Extensibility Accelerator,则可以使用此 IDE,使所需扩展性 XML 文件的设计和开发更快速、更轻松,从而可以将主要精力投入到开发使 OpenText Functional Testing 能够使用自定义 Web 控件的 JavaScript 函数中。

Extensibility Accelerator 还带有适用于 OpenText Functional Testing Web 2.0 插件的内置项目。可以使用这些项目来帮助您了解 Extensibility Accelerator 功能或更轻松地增加或修改提供的支持文件。

如果自定义或进一步扩展任何 Web 插件扩展性文件,还应执行以下操作:

  • 复制原始文件或进行备份。

  • 更改在工具包的插件管理器中显示的名称和描述。包括插件管理器描述中的文本 “Provided by <您的组织>”(位于工具包 XML 文件的 Controls\Description 元素中)。

  • 创建可为自定义的测试对象类或操作打开的自己的帮助文件。必须使用与 OpenText 提供的帮助文件不同的文件名。(在测试对象 XML 文件的 HelpInfo 元素中更改文件名。)

    备注: 安装 Web 2.0 插件时,如果计算机上安装了选定插件的早期版本,则在安装之前,安装程序将在备份文件夹中存储之前的文件。可能需要将对早期版本所做的任何自定义与新版本合并。

有关如何进行这些更改以及如何自定义支持文件的详细信息,请参阅《Web 扩展性开发人员指南》。

返回页首