已知问题 - Google Chrome、Microsoft Edge (基于 Chromium) 和 Mozilla Firefox

本主题介绍了使用 Chrome、Chromium Edge 和 Firefox 浏览器时的已知问题。

扩展安装

此部分包括有关浏览器扩展的限制信息。

要支持 UFT One 测试,必须在浏览器中安装并启用 Micro Focus UFT 代理。安装 UFT One 通常还涉及到浏览器扩展的设置。但是,有时需要人工干预。

手动启用扩展

在以下情况下,您必须手动启用适用于 Chrome / Chromium EdgeMicro Focus UFT 代理 扩展:

  • 未连接 Internet。

  • 未启用 Chrome 或 Chromium Edge 的自动更新。

有关更多详细信息,请参阅在 Google Chrome 上启用 Micro Focus UFT 代理 扩展以及在 Microsoft Edge (基于 Chromium) 上启用 Micro Focus UFT 代理 扩展

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

要安装浏览器扩展,浏览器策略必须允许此扩展。要自动更新浏览器策略,您可以在 UFT One 安装过程中选择“设置选项 Chrome、Chromium Edge、Firefox 选项”。否则,您需要手动更新浏览器策略以允许安装 Micro Focus UFT 代理:

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

手动删除扩展

在以下情况下,您可能需要从 Firefox 中手动删除未使用的扩展:

  • 卸载 UFT One 后未删除 Firefox 扩展。

  • 升级 UFT One 后,旧扩展保留在 Firefox 中。

返回页首

常规

此部分包括使用 Chrome、Chromium Edge 或 Firefox 时的一般限制:

所有浏览器共有的常见问题

页面上的 JavaScript

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

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

链接字体和颜色

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

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

Web 扩展性

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

使用 Chrome 或 Chromuiim Edge 时的问题

Chrome / Chromium Edge 用户

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

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

使用 Firefox 时的问题

其他 Firefox 插件和插件管理器
  • 建议在执行 Web 应用程序或网页的测试时,禁用其他 Firefox 插件。

  • 如果启用了插件管理器,则在“运行和录制设置”对话框的“Web”选项卡中将 Firefox 设置为打开至特定 URL 时,Firefox 不会在录制或运行会话开始时打开至指定 URL。

    变通方法: 禁用插件管理器后再使用 Firefox。

已启用用户帐户控制

如果您正在使用的计算机的 UAC (用户帐户控制) 选项设置为“打开”UFT One 将不支持在安装 UFT One 之后安装 (或升级到新版本) 的 Firefox 浏览器上进行测试。

变通方法: 在上述环境中安装 Firefox 后,以管理员身份登录并打开 UFT One

这使 UFT One 能够安装 Firefox 支持所需的文件。

匿名内容元素

UFT One 不支持 Firefox 非 XUL 框架中的匿名内容元素。(例如,Firefox SSL 异常页中的按钮。)

特权 URL

如果您正在 Firefox 57 或更高版本上进行测试,则 Firefox 的限制会阻止您导航到特权 URL。

如果您的测试步骤在 Firefox 中导航到特权 URL,UFT One 将显示错误。然后,您可以停止、跳过或编辑并重试您的步骤。

有关更多详细信息,请参阅 MDN Web 文档

返回页首

录制

此部分列出了您在 Chrome、Chromium Edge 和 Firefox 上录制时可能遇到的已知问题:

先决条件

只有完全加载页面后,才能在 Chrome、Chromium Edge 和 Firefox 上进行录制。

录制时不支持的方法和功能
  • 使用 Chrome、Chromium Edge 和 Firefox 访问 FTP 服务器时,UFT One 不会录制服务器身份验证对话框上的操作。

  • 在 Chrome、Chromium Edge 和 Firefox 中进行录制时,UFT One 不会使用“位置”标识符来识别对象。

  • 只有在 Chrome、Chromium Edge 和 Firefox 中进行录制时,“交互屏幕”才会捕获静态图像。

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

其他步骤的疑难解答

录制步骤时,可能会录制其他步骤。

变通方法: 录制会话结束后,手动删除无关步骤。

CloseAllTabs 方法

在 Firefox 57 及更高版本、Chrome 63 及更高版本或 Chromium Edge 中进行录制时,不会录制关闭浏览器的最后一个选项卡或窗口中所有浏览器选项卡的步骤。

If 处理程序选项

仅当将处理程序分配为属性时,“Web 事件录制配置”对话框中的“If 处理程序”选项才能发挥作用。例如,<A onclick = "some code"/>

如果将处理程序分配为属性,则 If Handler 选项不起作用。例如,aObj.onclick = function() {some code}.

录制坐标

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

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

WebRange.Set 方法

第一次在浏览器上录制 WebRange.Set 步骤时,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"

编辑框

“对象侦测器”和“检查点属性”对话框不检索对话框中编辑框的当前值。

搜索工具栏或 Developer Tools 窗格
  • 如果打开搜索工具栏或 Developer Tools 窗格,则在高亮显示对象侦测器或对象存储库的对象时,高亮显示矩形将显示在浏览器窗口中的错误位置。

    变通方法: 在浏览器窗口中使该工具栏浮动。

  • 如果当前浏览器页面中已经打开了 Developer Tools,UFT One 将无法侦测 Web 对象。
检查点

在 AgGrid 对象上创建或运行检查点时,请最大化浏览器以避免意外行为。

拖放方法

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

运行 WebAudio.Play 和 WebVideo.Play 方法

默认情况下,Chrome、Chromium Edge 和 Firefox 未启用自动播放音频和视频文件的功能。WebAudio.PlayWebVideo.Play 步骤可能会成功运行,但不会执行实际操作。

要允许运行 WebAudio.PlayWebVideo.Play 方法,请执行以下步骤:

配置浏览器以允许自动播放音频和视频文件。尝试以下选项或在线检查相关浏览器设置:

  • Chrome: 将名为 AutoplayAllowed 的注册表项添加到 Windows 注册表中:

    位置: HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome

    值: 0x00000001

  • Chromium Edge: 在浏览器的媒体自动播放设置中,将“控制是否在网站上自动播放音频和视频”设置为“允许”

  • Firefox: 在浏览器的自动播放设置中,从“所有网站的默认设置”下拉菜单中选择“允许音频和视频”

属性值

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

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

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

    例如: "mode: 'open'"

  • 不支持 CSS 和 XPath 属性。

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

Web 文件

在 Chrome、Chromium Edge 或 Firefox 中侦测 Web 文件时,您获得的将是 Web 文件值属性的假路径。

hwnd 属性

使用 Chrome、Chromium Edge 或 Firefox (57 及更高版本) 时,不支持 hwnd 属性。

使用 Chrome 时的问题

Link.Click / Browser.Navigate

(UFT One 2022 及更高版本)

如果您使用的是最新的 Micro Focus UFT 代理扩展 (可在 Chrome Web Store 或“<UFT One 安装文件夹>\Installations\Chrome\v3”文件夹中找到),您可能会遇到以下问题:

  • 对于 href 属性设置为 javascript: URL 的链接元素,可能成功运行 Click 步骤,但不会执行实际操作。

    例如,在以下链接元素上运行 Click 步骤时不会打开警报对话框:

    <a href="javascript:window.alert('Press OK ')">Open "alert" dialog</a>

  • 如果您在 Chrome 中运行 Browser.Navigate 方法,则仅支持 Headers 参数的默认值。

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

变通方法:

  • 使用 DeviceReplay 单击链接,打开提示对话框。(仅适用于第一个问题)

  • 卸载现有扩展,按照已禁用 Chrome 自动更新中的安装说明从“<UFT One 安装文件夹>\Installations\Chrome\v2”安装 Chrome 扩展。

使用 Firefox 时的问题

通过 HTML 对象加载的网页 UFT One 无法准确标识通过 HTML 对象的 data 属性加载的网页上的 Web 对象。此类网页上的对象被标识为 WebElement 对象。
RunScript 方法

在 Firefox 浏览器上使用 RunScript 方法时,应在运行测试之前禁用内容安全策略:

  1. 在 Firefox 中,本机为 about:config

  2. 搜索 security.csp.enable

  3. 将值更改为 false

使用 Chromium Edge 时的问题

使用对象标识中心 (OIC)

在启用侧栏的 Chromium Edge 中高亮显示应用程序中的对象时:

  • 左侧无纵向选项卡: OIC 高亮显示的对象区域在 UFT One 版本 2022 及更早版本中发生偏移。

  • 左侧有纵向选项卡: OIC 高亮显示的对象区域在所有 UFT One 版本中都发生偏移。

返回页首

不支持的测试对象、方法和功能

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

测试对象
  • about://* 页面

  • blob:*

  • chrome://* 页面 (Chrome 中)

  • Dialog 测试对象 (请参阅《UFT One Object Model Reference for GUI Testing》中的 Dialog 对象)

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

  • Firefox 起始页 (在 Firefox 中)

  • Frameset 对象

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

  • ViewLink 对象

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

  • 基于 Web 的环境,如 Siebel、Java、.NET Web Forms。

    Chrome、Chromium Edge 和 Firefox 支持测试基于 Web 的 SAP 应用程序,但以下测试对象除外: SAPiViewSAPMenuSAPOKCodeSAPStatusBarSAPWorkCenter

    有关详细信息,请参阅基于 Web 的 SAP 支持

方法
  • Browser.Object 方法

  • Browser.Stop 方法

  • Browser.Home 方法

功能

本地系统监控

返回页首

Chromium Edge 中的 IE 模式

此部分列出了在 Chromium Edge 中使用 IE 模式时可能遇到的已知问题:

Browser.Back 方法

有时,如果上一步导致页面重定向,则可能不会执行 Browser.Back 步骤。

变通方法: 在这两个步骤之间添加 Wait 语句。

示例:

Browser("Advantage Shopping").Page("Advantage Shopping").WebElement("SpeakersCategoryTxt").Click

Wait 2
Browser("Advantage Shopping").Back

在 Windows 10 上侦测/录制/运行测试

(UFT One 2021 及更早版本)

当在 Chromium Edge 的 IE 模式下对 Web 应用程序运行测试时:

  • 浏览器的选项卡数目属性不正确。

  • 任何 Browser.OpenNewTab 步骤都会在运行结果中列出两次。

不支持在 Chromium Edge 中使用 IE 模式 侦测和录制 Web 应用程序。

侦测和录制

(UFT One 2021 R1 及更高版本)

  • 不会录制以下浏览器方法: “刷新”、“导航”、“后退”和“前进”

  • UFT One 无法识别打开了 Developer Tools 的浏览器页面上的 Web 对象。

返回页首

对话框

常规

Chrome、Chromium Edge 和 Firefox 使用的标准对话框与 Microsoft Internet Explorer 使用的 Windows 标准对话框不同。

由于标准对话框中的差异,使用“单击带有以下标签的按钮”恢复操作且为 Microsoft Internet Explorer 构建的弹出式恢复场景不可用于 Chrome、Chromium Edge 和 Firefox,反之亦然。

警报、确认和提示对话框

您无法侦测浏览器打开的“警报”、“确认”和“提示”对话框,但可以在其上录制和运行脚本。

如果在此类对话框上创建步骤,请使用 Browser.DialogExistsBrowser.HandleDialogBrowser.GetDialogText 方法来自动化对话框行为。请参阅以下示例:

Example: 以下示例验证浏览器对话框是否存在。如果对话框确实存在,它会检索显示的消息,单击“确定”按钮,然后关闭对话框。

Copy code

Browser("Example").Page("Buttons").WebButton("Pop up!").Click
While Browser("Example").DialogExists = false
                wait 2
Wend
txt = Browser("Example").GetDialogText
If txt = "expected value" Then
                Browser("Example").HandleDialog micOK
End If

在以下情况下,HandleDialogGetDialogTextDialogExist 方法可能会产生意外结果:

  • 如果您在测试运行之外手动打开对话框
  • 如果在测试运行期间手动关闭对话框

对于其他类型的对话框 (例如“身份验证”、“安全警报”和“证书”对话框),请使用 UIA 插件或 UFT One 中的 AI 功能来处理它们。

从跨源框架打开的对话框

Firefox 69 或更高版本: 不支持由跨源框架内的元素触发的对话框。

返回页首

使用严格的内容安全策略 (CSP) 测试应用程序

UFT One 2022 及更高版本相关

要测试 Web 应用程序,UFT One 必须与应用程序通信,包括 JavaScript 注入。但是,如果您使用的是最新的 Micro Focus UFT 代理扩展 (可在 Chrome Web Store 或“<UFT One 安装文件夹>\Installations\Chrome\v3”文件夹中找到),某些应用程序会阻止此功能。

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

如果您在测试安全应用程序时遇到问题,您可以调整浏览器策略以允许扩展与应用程序通信。

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

在具有 Internet 连接的 Chrome 上测试安全应用程序

  1. 在注册表编辑器中,导航到 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome

  2. 创建一个名为 ExtensionInstallForcelist 的键。

  3. HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist 中,添加一个名为 1 的新字符串值。

  4. 使用扩展 ID plogiilmhhnoemdddmboejjgpehkdphp 填充值 1

    您可以在 chrome://policy 页面上检查添加的策略是否已启用。

在没有 Internet 连接的 Chrome 上测试安全应用程序

  1. 创建一个名为 updates.xml 的文件,在文件中添加如下内容,并将文件保存在“<UFT One 安装文件夹>/Installations/Chrome/v3”路径下。

    Copy code
    <?xml version='1.0' encoding='UTF-8'?>
    <gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
      <app appid='plogiilmhhnoemdddmboejjgpehkdphp'>
        <updatecheck codebase='file:///<UFT One 安装文件夹>/Installations/Chrome/v3/Agent.crx' version='扩展版本号' />
      </app>
    </gupdate>

    备注: 将“<UFT One 安装文件夹>”和“扩展版本号”替换为实际值。

    您可以通过检查您在 chrome://extensions 页面上安装的扩展来获取扩展版本号。

  2. 在注册表编辑器中,导航到 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome

  3. 创建一个名为 ExtensionInstallForcelist 的键。

  4. HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist 中,添加一个名为 1 的新字符串值。

  5. 使用 plogiilmhhnoemdddmboejjgpehkdphp;file:///<UFT One 安装文件夹>/Installations/Chrome/v3/updates.xml 填充值 1

    您可以在 chrome://policy 页面上检查添加的策略是否已启用。

返回页首

另请参见: