已知问题 - 嵌入式框架和无头浏览器
本主题列出了使用 UFT One 在嵌入式框架和无头浏览器中测试 Web 应用程序的已知问题。
Chromium Embedded Framework (CEF)/Electron/JxBrowser/NW.js/Microsoft Edge WebView2
在使用 CEF、Electron、JxBrowser、NW.js 框架和 Microsoft Edge WebView2 应用程序时,UFT One 存在以下已知问题。
不支持的功能 |
使用 CEF、Electron、JxBrowser、NW.js 或 Microsoft Edge WebView2 应用程序时,不支持以下功能:
在 JxBrowser 上,不支持在多个选项卡或窗口上运行测试。 |
不支持的对象和方法 |
使用 CEF、Electron、JxBrowser、NW.js 或 Microsoft Edge WebView2 应用程序时,不支持以下对象和方法:
|
检查点 |
仅支持标准、位图和文本/文本区域检查点。 |
录制 |
录制时,如果在页面完全加载后显示页面导航脚本,而您继续直接录制,则脚本中可能会出现错误。 为确保正确录制没有错误的脚本,请等待导航步骤完全录制后再继续。 如果未录制您的导航步骤,请手动添加。 |
侦测 |
仅限 Electron: 在具有相同大小和标题的两个 Electron 窗口中进行侦测时,请在侦测和添加对象之前调整其中一个窗口的大小。 这使得 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。 |
仅 Microsoft Edge WebView2 |
Microsoft Edge WebView2 不会启用自动播放音频和视频文件。因此,当您第一次在 Microsoft Edge WebView2 应用程序上运行 WebAudio.Play 和 WebVideo.Play 方法时,这些方法不起作用。 变通方法: 在运行 WebAudio.Play 和 WebVideo.Play 方法之前,首先在应用程序中手动播放音频或视频文件。 |
手动结束进程 |
在以下情况下,您可能需要手动结束 WebDriverHost.exe、chromedriver.exe 或 msedgedriver.exe 进程:
在这些情况下,您必须手动结束这些进程,以避免在使用 CEF/Electron/JxBrowser/NW.js/Microsoft Edge WebView2 应用程序时出现意外行为。 提示: 将 WebUtil.DetachRemoteDebugging 方法添加到您的测试中,以在测试过程中结束这些进程。使用应用程序的 IP 地址和端口定义方法。 有关更多详细信息,请参阅《UFT One Object Model Reference for GUI Testing》的实用程序部分中的 WebUtil 对象。 |
测试无头浏览器
使用 PhantomJS 和 Headless Chrome 时,UFT One 存在以下已知问题。
支持的 Chrome 版本 | Headless Chrome 仅在 Chrome 60 或更高版本中受支持。 |
录制 | 不支持在 PhantomJS 工具包或 Headless Chrome 上录制。 |
数据驱动 | 如果您对测试进行数据驱动,建议您在每个迭代的末尾添加 Browser.CloseAllTabs 方法,以防止测试运行失败。 |
不支持的功能 |
使用 PhantomJS 应用程序时,不支持以下功能和对象:
|
不支持的测试对象和方法 |
仅限 Headlesss Chrome:
仅限 PhantomJS:
PhantomJS/Headless Chrome:
|
回放类型 |
不支持“鼠标”回放类型。请改用“事件”回放类型。 |
运行测试 | 不支持维护运行模式。 |
另请参见: