已知问题 - Web 插件

本主题包括有关使用 Web 插件的常规疑难解答和限制信息。

备注: 出于向后兼容性考虑,某些文件夹路径有意包含以前的公司品牌。

常规

  • 不同页面和框架上的 UFT One Web 代理会使用 window.postMessage 与彼此通信。如果您要测试的应用程序将侦听 MessageEvent,并处理来自 UFT One Web 代理的消息,则可能会发生不可预测的行为。

    通常建议将 Web 应用程序设计为忽略来自源而非其自身的消息。有关详细信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage#Security_concerns

  • Web 测试对象的数字属性不支持正则表达式,例如 WebButton

  • 使用动态插件加载时,UFT One 会在您打开测试之前或之后打开浏览器时以不同的方式标识对象。

    因此,如果您在打开 UFT One 时未选择 Web 插件,请确保按照识别对象 (侦测/录制) 和运行测试时的相同顺序打开浏览器和测试。

返回页首

对象标识

基于 AI 的测试

当您的浏览器范围为 WebPage (默认) 时,组合框的下拉项对 AI 不正确可见。结果,下拉项要么没有被 AI 识别,要么被识别在错误的位置。

变通方法: 按照以下步骤将浏览器范围模式更改为 BrowserWindow:

AIUTil.Context.SetBrowserScope BrowserWindow

同时使用 Web 和 Siebel 插件

如果使用已加载的 Siebel 插件打开 UFT One,则 Web 插件不会显示在“对象标识”对话框中。

变通方法: 

变通方法: 将 HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\Packages\SiebelPackage\Settings\AllowWebToConfig 注册表项的值更改为 1

返回空值

如果应用程序对象未在应用程序的控件中实现 aria-selected 属性,则某些描述属性将返回空值。

受影响的属性包括: selecteditems countselected itemsselectionvalue 将返回空值。

动态生成的子 WebTree 对象

如果 WebTree 对象中的子项是动态生成的,UFT One 可能无法使用 .Select 方法自动选择树中的项。

特别是在展开父节点之前,当子对象在应用程序中不可见或不存在时,可能会发生这种情况。

变通方法: 手动添加步骤以使节点可见,或展开树节点以在应用程序中创建对象。

引导库

UFT One 无法识别引导库中使用 <a> 元素 (具有 btndisabled 类) 的对象。

这些类会禁用 UFT One 识别对象所需的指针事件。

返回页首

浏览器缩放和 Windows 显示缩放 (DPI)

在某些情况下,要使 UFT One 标识并高亮显示正确位置的对象,您必须了解这些对象并以 100% 的浏览器缩放级别和 Windows 显示缩放级别运行测试。

在这些情况下将浏览器缩放级别设置为 100%将 Windows 显示缩放级别设置为 100%
在 Edge 中使用 Internet Explorer 或 IE 模式
使用 Chromium Embedded Framework

使用在线提供或从 v3 文件夹安装的 OpenText UFT Agent Chrome 扩展版本 2022。

(如何判断我是否使用了相关的扩展: 导航到 chrome://extensions/ 页面,然后在 OpenText UFT Agent扩展上单击“详细信息”。扩展的“检查”视图为服务工作程序。)

在未使用远程桌面连接进行连接的虚拟机上工作

返回页首

录制

在录制会话期间自动完成

在录制会话期间,不支持自动完成。在自动完成控件上进行录制时,输入完整的字符串,而不要选择控件提供的建议。此步骤将按与其他(非自动完成)控件相同的方式进行录制。

变通方法: 您可以通过选择工具 > Internet 选项 > 高级,然后取消选中“浏览”选项下的使用直接插入自动完成功能,在 Microsoft Internet Explorer 中禁用“自动完成”功能。

录制包含子对象的 WebTree 对象

如果 WebTree 对象包含树内的单独对象 (例如复选框对象),则不会录制这些子对象。

变通方法: 执行以下某项操作:

侦测子对象
  1. 侦测子对象以获取树项的相对 Xpath 值。
  2. 然后,添加 WebTree.Select 方法,其 XPath 值是为 .Select 方法的 XPath 参数从侦测器中检索到的值。
手动添加对象

将对象添加到对象存储库中,然后将其手动添加到测试或组件中。

在嵌入到 Web 表中的对象上录制

如果您正在嵌入到 Web 表中的对象上录制操作,则可能无法正确录制这些操作。请在录制后根据需要重新调整测试。

返回页首

在云浏览器上运行

您可以在 Digital Lab 提供的云浏览器中运行测试并将应用程序视为测试运行。但是,您无法侦测应用程序或录制步骤。有关详细信息,请参阅在云浏览器中测试 Web 应用程序

其他不支持的功能

Digital Lab 云浏览器上运行测试时不支持以下功能: 

  • Business Process Testing

  • AI 对象

  • 洞察对象

  • 环境变量

  • 无头浏览器

  • UFT One 自动脚本 (自动化 UFT One)。

已知问题

Digital Lab 云浏览器上运行 Web 测试时,存在以下已知问题: 

鼠标回放类型

不支持使用“鼠标”回放类型在云浏览器上运行测试。

确保已在“Web”>“高级”选项窗格 (“工具”>“选项”>“GUI 测试”选项卡 >“Web”窗格 >“高级”节点) 的“运行设置”部分中选择“事件”作为“回放类型”

从 Jenkins 运行
  • 从 Jenkins 管道运行时,无法从管道本身更改浏览器参数。直接在 UFT One 脚本中更改配置。

  • Jenkins Application Automation Tools 插件版本 23.3 和 23.4: 要在云浏览器中运行测试,请在“录制和运行设置”对话框中配置与 Digital Lab 的连接,在 Jenkins 中将 Digital Lab 连接设置保留为空。

在云浏览器上重新运行测试

当您在本地浏览器上运行测试并在云浏览器上重新运行时,UFT One 在云浏览器上运行测试之前关闭已启动的本地浏览器选项卡。当在“录制和运行设置”对话框的“Web”选项卡上选择“在测试关闭时关闭浏览器”时,会发生这种情况。

仅在安全网站上运行

Digital Lab 云浏览器仅支持 https 网站。

注: 如果您使用的是 Digital Lab 版本 23.4 和 Edge 或 Firefox 云浏览器,则需要在 URL 中包含 https

返回页首

检查点

在某个浏览器上运行时,在另一个浏览器上创建的位图和页面检查点可能会失败,因为不同的浏览器在视觉上呈现的 Web 对象有所不同。

对于页面检查点,此情况与处理 HTML 源文件中的大小写时的差异有关。

返回页首

WebAgGrid 测试对象

相关插件

从.UFT One 15.0 开始,AgGrid Web 子插件 (默认不加载) 将支持 WebAgGrid 对象。如果要测试 AgGrid 对象,请确保在打开 UFT One 时除 Web 插件之外,还选择了 AgGrid 插件。

要打开或运行在更低的 UFT One 版本中创建的测试并使用 AgGrid 对象,请将 AgGrid 插件与“测试设置”的“属性”窗格中的测试相关联。

检查点
  • WebAgGrid 测试对象上的检查点将仅验证 DOM 中可用的表内容。

  • 由于运行测试时 Chrome 中显示“UFT 正在调试”横幅,因此检查点可能会失败。关闭此横幅,然后重新运行测试。

    要关闭此横幅,请执行以下操作之一:

    • 在运行测试时手动关闭该横幅。
    • 在 Chrome 设置中启用静默调试。
行/列
  • 对折叠行或列执行的操作可能会出现意外行为。为避免错误,请确保在运行测试之前展开行或列。
  • 对包含较大数字的行或列执行的操作可能会出现意外行为。

WebAgGrid.GetCellData

 

如果 WebAgGrid 对象按列排序,则 GetCellData 方法无法标识列。

: GetCellData 步骤仅无法标识已排序的列。所有其他列均可被成功标识。

变通方法: 删除对列进行的排序,然后再次运行测试。

指定用于对象的逻辑名称的属性

WebAgGrid 和 WebUIGrid 测试对象不支持逻辑名称定义。

有关更多详细信息,请参阅《UFT Object Model Reference》中的 WebAgGrid 对象。

返回页首

WebUIGrid 测试对象

  • 从.UFT One 15.0 开始,UIGrid Web 子插件 (默认不加载) 将支持 WebUIGrid 对象。如果要测试 UIGrid 对象,请确保在打开 UFT One 时除 Web 插件之外,还选择了 UIGrid 插件。

    要打开或运行在更低的 UFT One 版本中创建的测试并使用 UIGrid 对象,请将 UIGrid 插件与“测试设置”的“属性”窗格中的测试相关联。

  • WebUIGrid 测试对象上的检查点将仅验证 DOM 中可用的表内容。

  • WebAgGrid 和 WebUIGrid 测试对象不支持逻辑名称定义。

返回页首

另请参见: