已知问题 - Google Chrome、基于 Microsoft Chromium 的 Edge 和 Apple Safari

功能和设置

以下已知问题与 Google Chrome、Microsoft Chromium Edge 和 Apple Safari 有关:

页面上的 JavaScript

修改了浏览器 JavaScript 功能的网页可能会导致 UFT One 行为异常。

例如,这包括替换 JSON 对象的网页。

链接字体和颜色

在不同浏览器中,链接对象的字体和颜色属性包含不同值。

因此,如果在 Microsoft Internet Explorer 中创建标准检查点,并选择“字体”和“颜色”属性,则在 Chrome、Chromium Edge 或 Safari 中运行这些检查点可能会导致检查点失败。

Chrome/Safari 用户

如果定义了多个 Chrome、Chromium Edge 或 Safari 用户,则必须删除所有用户。

返回页首

测试对象、方法和属性

以下已知问题与 Google Chrome、Microsoft Chromium Edge 和 Apple Safari 有关:

属性值

使用 Chrome、Chromium Edge 或 Safari 时,innertextoutertextinnerhtmlouterhtml 属性值可能与其他浏览器不同。

因此,在参数中使用这些值或运行使用这些属性值的检查点可能会导致步骤失败。

不支持的功能

在 Chrome、Chromium Edge 或 Safari 中,不支持以下测试对象、方法和其他特定于 Web 的功能:

  • ViewLink 测试对象

  • chrome://* 页面

  • edge://* 页面 (在 Chromium Edge 浏览器中)

  • about://* 页面

  • blob:* 框架 (在 Chrome 和 Chromium Edge 浏览器中)

  • Browser.Home 方法

  • Browser.Object 方法

  • Browser.Stop

  • 模式对话框或无模式对话框
  • Developer Tools 窗格。(支持打开 Developer Tools 窗格时在 Chrome、Chromium Edge 或 Safari 上运行步骤。)

  • 浏览器打开的对话框,如版本早于 26 的所有 Safari 或 Chrome 版本上的警报、确认或提示消息。

  • WebXML 测试对象 (相应的 XML 检查点和输出值步骤) 。

  • 基于 Web 的环境,如基于 Web 的 SAP、Siebel、Java、.NET Web Forms 等。。有关该规则的 Chrome 例外情况,请参阅基于 Web 的 SAP 支持

返回页首

Google Chrome 和 Microsoft Chromium Edge

检查点
  • 在 Chrome 或 Chromium Edge 上运行时文本检查点失败。
  • 在 Chrome 或 Chromium Edge 中的 AgGrid 对象上创建或运行检查点时,请最大化浏览器以避免意外行为。
警报或对话框

如果打开了浏览器警报或警告对话框,UFT One 将无法在浏览器上运行或录制测试或组件。

变通方法: 变通方法: 关闭警报或警告对话框后再尝试运行或录制测试或组件。

内部 Chrome 页面

内部 Chrome 页面 (例如 about:blank 页面、Chrome 登录页面、Chrome Web Store 和 Chrome 的默认选项卡主页) 无法识别为网页,而是识别为 WinObject

手动启用扩展

在以下情况下,您必须手动启用 Micro Focus UFT 代理 扩展:

Google Chrome

  • 未连接 Internet

  • 未启用 Google Chrome 的自动更新

  • 正在使用 Google Chrome 版本 31 或更早版本。

有关更多详细信息,请参阅启用 Micro Focus UFT 代理 Chrome 扩展

Microsoft Chromium Edge

  • 未连接 Internet

  • 未启用 Chromium Edge 的自动更新

有关更多详细信息,请参阅在 Chromium Edge 上启用 Micro Focus UFT 代理 扩展

在浏览器策略中启用扩展安装

如果扩展由于您的浏览器策略而无法安装,请通过执行以下更改来手动允许安装: 

警告: 确保公司的安全策略允许您进行此更改。

Chromium Edge

Chrome

手动删除扩展

如果手动从 Chrome 或 Chromium Edge 卸载了 UFT 代理扩展,则重新安装 UFT One 后必须手动重新安装它。

对加载网页后加载的对象运行操作

有时,当您使用 SystemUtil.RunWebutil.LaunchBrowser 打开浏览器时,页面会加载,但是页面上的操作会失败。例如,WebTable.SelectCell 方法可能无法选择单元格。

可能的原因: 加载页面后,站点将继续加载数据,并且执行的操作需要未就绪的对象。

变通方法: 使用“录制和运行设置”或使用包含指向页面上特定对象的 URL 的 SystemUtil.Run 打开浏览器。

例如: 

systemutil.run "chrome", "https://sapui5.hana.ondemand.com/1.52.17/#/sample/sap.ui.comp.sample.smarttable/preview"

在 Google Chrome 上录制
  • 只有版本 31 和更高版本才支持在 Google Chrome 上录制。
  • “页面/框架选项”(“工具”> “选项”>“GUI 测试”选项卡>“Web”>“页面/框架选项”节点) 不支持在 Google Chrome 中录制。
  • 使用 Google Chrome 访问 FTP 服务器时,UFT One 不录制服务器身份验证对话框上的操作。

  • 在以 HTML5 以外的语言编码的网页上录制测试时,只能在 Internet Explorer 中录制拖放方法。

  • 在 Google Chrome 上录制时,UFT One 不会使用位置来识别对象。
  • Chrome 63 及更高版本: 不支持使用 CloseAllTabs 方法录制关闭 Chrome 窗口中最后一个选项卡的步骤。

  • 如果在“选项”对话框的“Web”>“高级”窗格 (“工具”>“选项”>“GUI 测试”选项卡 >“Web”>“高级”>“录制设置”部分) 中已选中“录制坐标”选项,则 UFT One 不会在 Google Chrome 浏览器中录制图像上的正确坐标。

    变通方法: 在录制后手动添加图像的正确坐标。

侦测
  • 如果当前打开了 Chrome 或 Chromium Edge 的开发人员工具,UFT One 将无法侦测 Web 对象。
  • 在 Chrome 或 Chromium Edge 中侦测 Web 文件时,您获得的将是 Web 文件值属性的假路径。
  • 在 Chrome 或 Chromium Edge 中使用“Object Spy on Alert”或“Object Spy on Confirm”对话框会导致 UFT One 出现意外行为。

不支持的功能
  • 只有在 Chrome 或 Chromium Edge 中录制时,“交互屏幕”才会捕获静态图像。

    要使用“交互屏幕”的右键单击选项 (例如,添加步骤或检查点),请在 Internet Explorer 中录制测试。

  • Chrome 或 Chromium Edge 不支持 Frameset 对象。

  • WebAudio.Play 方法不支持在 Chrome 或 Chromium Edge 上回放。

    变通方法: 在 Chrome 中,浏览至 chrome://flags 并将“自动播放策略”设置为“无需用户手势”

    在 Chromium Edge 中,浏览至 edge://flags 并将“自动播放策略”设置为“无需用户手势”

  • Chrome 和 Chromium Edge 不支持本地系统监控。
  • Google Chrome 版本 36 或更早版本 UFT One 不支持位于 iFrame 控件内具有 blankabout:blank SRC 描述属性值的 Web 测试对象。

  • Chromium Edge 85 及更高版本和 UFT One 15.0.1: 不支持 WebFile 对象

  • 不支持在 Chromium Edge 上以 IE 模式测试 Web 应用程序。

Web 扩展性

如果您有使用 Web 扩展性设计的自定义工具包,则 UFT One 无法处理 Chrome 或 Chromium Edge 浏览器上的某些事件。

Windows 10

在 Windows 10 的 Google Chrome 或 Chromium Edge 上测试应用程序时,UFT One 不会录制许多用户操作。

变通方法: 在 Chrome 中,执行以下操作:

  1. 导航到 chrome://flags/ 页面。

  2. 在 flags 页面中,禁用“启用触摸事件”选项。

变通方法: 在 Chromium Edge 中,执行以下操作:

  1. 导航到 edge://flags/ 页面。

  2. 在 flags 页面中,禁用“启用触摸事件”选项。

同时使用多个 Chrome 版本 UFT One 无法在同一会话中同时在 Chrome 发布版本和 Chrome 测试版上录制或运行测试。

返回页首

仅限 Apple Safari

Safari 中不受支持的 UFT One 功能

使用 Safari 浏览器时不支持以下功能: 

  • 录制。不支持 Safari 上的录制步骤。

  • 突出显示和识别:

    不支持在应用程序中突出显示来自对象存储库的对象。

    不支持识别对象存储库窗口或对象存储库管理器中的对象。但是,可以使用远程对象侦测器来识别对象。

  • Safari 不支持“维护模式”

  • 交互屏幕。在 Safari 中,不支持通过创建交互屏幕或使用“更新运行模式”来更新交互屏幕。

  • 不支持“非标准检查点和输出值”。这包括文件内容检查点和输出值、文本检查点和输出值以及位图检查点。

    但是,支持页面检查点。有关详细信息,请参阅页面检查点

不支持的 Safari 功能

  • UFT One 无法识别内部 Safari 页面,如新选项卡页面。

  • UFT One 不支持 Safari 上的 Browser.FullScreen 方法。

  • 在 Safari 13 和 14 中,UFT One 不支持多个选项卡。

  • Safari 缓存问题: 当脚本执行操作,返回上一页,然后尝试识别 Web 对象时,UFT One 无法识别 Safari 11 及更高版本上的对象。

    这是由 Safari 的缓存功能造成的。有关更多详细信息,请参阅 Apple 开发人员论坛

    变通方法: 在尝试识别对象之前刷新页面。

页面检查点

浏览器差异

由于 Chrome 和 Internet Explorer 之间的差异,在 Google Chrome 上运行时页面检查点和位图检查点可能失败。

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

加载时间属性值

在 Safari 上运行时,页面和框架测试对象的“加载时间”值始终为 0

在页面检查点中,默认情况下选中加载时间属性,因此在 Safari 上运行时页面检查点可能失败。

变通方法: 取消选择需要在 Safari 上运行的页面检查点的加载时间属性。

不支持的测试对象和方法

Safari 上只能运行 Web 测试对象步骤。所有其他步骤均在 UFT One 计算机上本地运行,包括 Web 2.0 测试对象或基于 Web 插件扩展性的测试对象。

另外,在 Safari 上运行时不支持以下特定测试对象和测试对象方法:

  • WebFile.Set 方法

  • Browser.ClearCache 方法

  • Browser.DeleteCookies 方法

  • Browser.Back 方法 (在 Safari 13 和 14 上)

  • Browser.OpenNewTab 方法 (在 Safari 12 及更高版本上)

  • DragDrop 方法 (在所有 Web 测试对象上)

  • CaptureBitmap 方法 (在 Safari 13 和 14 中的所有 Web 测试对象上)

  • 位于 iFrame 控件内具有 blankabout:blank SRC 值的 Web 测试对象。

  • WebAudio.PlayWebVideo.Play 方法
  • WebAgGridWebUIGrid 对象

测试运行

打开新的浏览器选项卡

在运行会话期间,在应打开新浏览器选项卡的 Web 对象上单击的步骤无法打开新选项卡。

变通方法: 禁用 Safari 中的弹出窗口阻止程序。(Safari > 偏好设置 > 安全性,清除阻止弹出式窗口复选框。)

恢复场景

在 Safari 上运行测试或组件时,不支持恢复场景。

鼠标回放类型

不支持使用鼠标回放类型在 Safari 上运行测试或组件。

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

后退/前进操作

在 Safari 版本 9 (El Capitan) 上执行“后退”或“前进”选项会导致 UFT One 发生意外行为。

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

  1. 在 Safari 中选择“首选项”>“高级”

  2. 在菜单栏中,选择“在菜单栏中显示开发菜单”选项。

  3. 在“开发”菜单中,选择“禁用缓存”

远程 Mac 连接

使用自动化对象模型

在自动化对象模型中,WebLauncher.Browser 不支持 Safari 浏览器。

要在测试运行期间连接到远程 Mac 并打开 Safari 浏览器,请使用 RemoteConnection 实用程序对象及其方法。

有关详细信息,请参见《UFT One Object Model Reference for GUI Testing》实用程序对象 (Utility Objects) 部分。

语句完成

根据与 Mac 的连接性能,Object 属性的语句完成可能不起作用。

返回页首

另请参见: