已知问题 - 嵌入式框架和无头浏览器

本主题列出了使用 UFT One 在嵌入式框架和无头浏览器中测试 Web 应用程序的已知问题。

Chromium 嵌入式框架 (CEF)/Electron/JxBrowser/NW.js

在使用 CEF、Electron、JxBrowser 和 NW.js 框架时,UFT One 存在以下已知问题。

不支持的功能

使用 CEF、Electron、JxBrowser 或 NW.js 应用程序时,不支持以下功能:

  • 导航并识别

  • 拖放

  • 活动屏幕

  • Web 选项 (“工具”>“选项”>GUI 测试”选项卡 >“Web”节点)

  • 底层录制

在 JxBrowser 上,不支持在多个选项卡或窗口上运行测试。

不支持的对象和方法

使用 CEF、Electron、JxBrowser 或 NW.js 应用程序时,不支持以下对象和方法:

  • * about://* 页面

  • * chrome://* 页面

  • 浏览器对话框 (如“警报”、“确认”、“提示”)

  • 浏览器方法

  • 模式对话框或无模式对话框

  • WebFile 测试对象

  • ViewLink 测试对象

  • WebAgGrid 和 WebUIGrid 对象
  • WebXML 测试对象

检查点

仅支持标准、位图和文本/文本区域检查点。

录制

录制时,如果在页面完全加载后显示页面导航脚本,而您继续直接录制,则脚本中可能会出现错误。

为确保正确录制没有错误的脚本,请等待导航步骤完全录制后再继续。

如果未录制您的导航步骤,请手动添加。

侦测

仅限 Electron:

在具有相同大小和标题的两个 Electron 窗口中进行侦测时,请在侦测和添加对象之前调整其中一个窗口的大小。

这使得 UFT One 能够唯一地标识每个窗口。

识别对象

UFT One 15.0 或更早版本: 在跨域 iFrame 中导航 (例如单击链接或执行搜索) 后,UFT One 尝试识别对象时行为异常。

突出显示应用程序中的对象

使用基于 Web 扩展性的测试对象 (包括 UFT One 的 Web 2.0 插件测试对象),突出显示并不总是突出显示预期区域。

仅 Electron 对象

UFT One 仅在沙盒模式下运行时,才支持 Electron 框架中的应用程序。

例如,使用 --enable-sandbox 命令启动您的应用程序。

仅限 CEF 对象

要使 UFT One 能够识别 CEF 应用程序中的对象:

默认情况下,UFT One 要求应用程序的 Web 元素容器的 Windows 类名Chrome_WidgetWin 开头。

要支持不以 Chrome_WidgetWin 开头的情况: 修改 HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\Packages\WebPackage\Settings\CEFWindowClassPrefix 注册表项值。输入在应用程序的 Web 元素容器中使用的 Windows 类名前缀

注释: 出于向后兼容性考虑,一些注册表项特意包括了以前的公司品牌。

UFT One 的本地化版本

使用 UFT One 的本地化版本时,通过 localhost 连接到包含 CEF、Electron 或 JxBrowser 对象的应用程序可能会出错。

在这种情况下,请改用 IP 地址 127.0.0.1

手动结束进程

在以下情况下,您可能需要手动结束 WebDriverHost.exechromedriver.exe 进程:

  • 如果 UFT One 连接到错误的端口

  • 如果应用程序未正确关闭。

在这些情况下,您必须手动结束这些进程,以避免在使用 CEF/Electron/JxBrowser/NW.js 应用程序时出现意外行为。

提示: 将 WebUtil.DetachRemoteDebugging 方法添加到您的测试中,以在测试过程中结束这些进程。使用应用程序的 IP 地址和端口定义方法。

有关更多详细信息,请参阅《UFT One Object Model Reference for GUI Testing》实用程序部分中的 WebUtil 对象。

返回页首

Shadow DOM

使用 Shadow DOM 时,UFT One 存在以下已知问题。

浏览器

仅 Chrome 支持测试使用 Shadow DOM 开发的应用程序。

开发模式

仅当使用 Shadow DOM 打开开发模式时,才支持测试使用 Shadow DOM 开发的应用程序。

例如:

"mode: 'open'"

不支持的属性

不支持以下属性:

  • css
  • xpath
Web 2.0

UFT One 对 Shadow DOM 的支持不包括使用 Web 2.0 技术创建的测试对象。

返回页首

测试无头浏览器

使用 PhantomJS 和 Headless Chrome 时,UFT One 存在以下已知问题。

支持的 Chrome 版本 Headless Chrome 仅在 Chrome 60 或更高版本中受支持。
录制 不支持在 PhantomJS 工具包或 Headless Chrome 上录制。
数据驱动 如果您对测试进行数据驱动,建议您在每个迭代的末尾添加 Browser.CloseAllTabs 方法,以防止测试运行失败。
不支持的功能

使用 PhantomJS 应用程序时,不支持以下功能和对象:

  • 录制

  • 对象侦测器

  • 在应用程序中突出显示

  • 导航并识别

  • 对象侦测器中的“将对象添加到本地”按钮

  • 拖放功能

不支持的测试对象和方法

仅限 Headlesss Chrome:

WebAgGridUIGrid 对象

仅限 PhantomJS:

  • 当使用包含大页面源代码的 CaptureBitmap 方法运行测试时,会引发一般运行错误。

  • 浏览器对话框,例如“警报”、“确认”或“提示”对话框

  • 不支持以下测试对象方法和应用程序对象:

    • role=link 属性创建的 Link 对象

    • WebAudio

    • role=button 属性创建的 WebButton

    • role = list 属性创建的 WebList

    • WebMenu

    • 使用 role=tablerole=grid 属性创建的 WebTable

    • WebTabStrip

    • WebTree

    • WebVideo

PhantomJS/Headless Chrome:

不支持以下测试对象方法和应用程序对象:

  • about://* 页面

  • iFrame 或跨域 iFrame 对象

  • 使用 Web 2.0 技术 (ASAP .NET AJAX、Dojo、Google Web Tools、jQueryUI、SiebelOpenUI 和 YahooUI) 创建的对象

  • Browser.ClearCache

  • Browser.DeleteCookies

  • Browser.HandleDialog

  • Browser.Home

  • Browser.IsSiblingTab

  • Browser.Object

  • Browser.Stop

  • ViewLink

  • WebFile

回放类型

不支持“鼠标”回放类型。请改用“事件”回放类型。

运行测试 不支持维护运行模式。

返回页首

另请参见: