已知问题 - 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:
|
同时使用 Web 和 Siebel 插件 | 如果使用已加载的 Siebel 插件打开 UFT One,则 Web 插件不会显示在“对象标识”对话框中。 变通方法: 变通方法: 将 HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\Packages\SiebelPackage\Settings\AllowWebToConfig 注册表项的值更改为 1。 |
返回空值 | 如果应用程序对象未在应用程序的控件中实现 aria-selected 属性,则某些描述属性将返回空值。 受影响的属性包括: selected、items count、selected items、selection 和 value 将返回空值。 |
动态生成的子 WebTree 对象 | 如果 WebTree 对象中的子项是动态生成的,UFT One 可能无法使用 .Select 方法自动选择树中的项。 特别是在展开父节点之前,当子对象在应用程序中不可见或不存在时,可能会发生这种情况。 变通方法: 手动添加步骤以使节点可见,或展开树节点以在应用程序中创建对象。 |
引导库 | UFT One 无法识别引导库中使用 <a> 元素 (具有 btn 和 disabled 类) 的对象。 这些类会禁用 UFT One 识别对象所需的指针事件。 |
浏览器缩放和 Windows 显示缩放 (DPI)
在某些情况下,要使 UFT One 标识并高亮显示正确位置的对象,您必须了解这些对象并以 100% 的浏览器缩放级别和 Windows 显示缩放级别运行测试。
在这些情况下 | 将浏览器缩放级别设置为 100% | 将 Windows 显示缩放级别设置为 100% |
---|---|---|
在 Chromium Edge 中使用 Internet Explorer 或 IE 模式 | ||
使用 Chromium Embedded Framework | ||
使用在线提供或从 v3 文件夹安装的 Micro Focus UFT 代理 Chrome 扩展版本 2022。 (如何判断我是否使用了相关的扩展: 导航到 chrome://extensions/ 页面,然后单击 Micro Focus UFT 代理扩展上的“详细信息”。扩展的“检查”视图为服务工作程序。) | ||
UFT One 版本 2021: 在 Chrome、Firefox 和 Chromium Edge 中测试应用程序。 | ||
在未使用远程桌面连接进行连接的虚拟机上工作 |
录制
在录制会话期间自动完成
在录制会话期间,不支持自动完成。在自动完成控件上进行录制时,输入完整的字符串,而不要选择控件提供的建议。此步骤将按与其他(非自动完成)控件相同的方式进行录制。
变通方法: 您可以通过选择工具 > Internet 选项 > 高级,然后取消选中“浏览”选项下的使用直接插入自动完成功能,在 Microsoft Internet Explorer 中禁用“自动完成”功能。
录制包含子对象的 WebTree 对象
如果 WebTree 对象包含树内的单独对象 (例如复选框对象),则不会录制这些子对象。
变通方法: 执行以下某项操作:
侦测子对象 | 执行以下操作:
|
手动添加对象 | 将对象添加到对象存储库中,然后将其手动添加到测试或组件中。 |
在嵌入到 Web 表中的对象上录制
如果您正在嵌入到 Web 表中的对象上录制操作,则可能无法正确录制这些操作。请在录制后根据需要重新调整测试。
检查点
在某个浏览器上运行时,在另一个浏览器上创建的位图和页面检查点可能会失败,因为不同的浏览器在视觉上呈现的 Web 对象有所不同。
对于页面检查点,此情况与处理 HTML 源文件中的大小写时的差异有关。
WebAgGrid 测试对象
相关插件 | 从.UFT One 15.0 开始,AgGrid Web 子插件 (默认不加载) 将支持 WebAgGrid 对象。如果要测试 AgGrid 对象,请确保在打开 UFT One 时除 Web 插件之外,还选择了 AgGrid 插件。 要打开或运行在更低的 UFT One 版本中创建的测试并使用 AgGrid 对象,请将 AgGrid 插件与“测试设置”的“属性”窗格中的测试相关联。 |
检查点 |
|
行/列 |
|
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 测试对象不支持逻辑名称定义。
另请参见: