已知问题 - Google Chrome、Microsoft Edge 和 Mozilla Firefox

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

备注: 本主题针对 Microsoft Edge 79 或更高版本。这是基于 Chromium 的 Microsoft Edge,它取代了基于 HTML 的 Microsoft Edge 旧版。

扩展安装

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

此部分介绍如何安装浏览器扩展以及如何允许、修复和删除其安装。

手动启用扩展

在以下情况下,您必须手动启用适用于 Chrome/EdgeOpenText UFT Agent 扩展:

  • 未连接 Internet。

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

有关更多详细信息,请参阅在 Google Chrome 上启用 OpenText UFT Agent 扩展以及在 Microsoft Edge 中启用 OpenText UFT Agent 扩展

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

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

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

已安装的扩展存在的问题

此部分介绍如何处理使用解压缩的 OpenText UFT Agent 扩展时在 Chrome 或 Edge 浏览器中不时出现的问题。这是您使用“加载已解压缩的扩展”按钮手动加载的扩展版本,或者 UFT One 每次打开浏览器时临时加载的扩展版本。有关详细信息,请参阅在 Google Chrome 上启用 OpenText UFT Agent 扩展在 Microsoft Edge 旧版上启用 Edge Agent for UFT

问题: OpenText UFT Agent 扩展先前已安装,但不再显示在扩展列表中。

或者,您安装了该扩展,但它未显示在扩展列表中。

解决方案:请执行以下步骤之一,然后重新加载该扩展:

  • 如果相关,请注销浏览器用户配置文件,然后再次重新登录。

  • 手动删除浏览器的 User Data 文件夹,然后重新打开浏览器。

    Chrome: 删除 %LOCALAPPDATA%\Google\Chrome\User Data

    Edge: 删除 %LOCALAPPDATA%\Microsoft\Edge\User Data

  • 创建并运行自动脚本以删除浏览器的 User Data 文件夹。然后,重新打开浏览器。

手动删除扩展

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

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

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

ValueEdge 功能测试设计

ValueEdge 功能测试设计 (FT 设计) 还使用 OpenText UFT Agent来测试 Web 应用程序。FT 设计与 UFT One 都安装自己的扩展版本,并且每个程序都要求其版本是唯一启用的版本。

在还使用 FT 设计的计算机上使用 UFT One 之前,确保启用的扩展版本与您的 UFT One 版本相匹配。

返回页首

常规

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

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

页面上的 JavaScript

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

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

链接字体和颜色

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

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

Web 扩展性

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

使用 Chrome 或 Edge 时存在的问题

Chrome/Edge 用户

如果定义了多个 Chrome 或 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 文档

多个浏览器窗口

如果您打开多个 Firefox 窗口并将它们全部最大化,则 UFT One 无法侦测任何窗口中的对象。

返回页首

录制

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

先决条件

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

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

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

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

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

其他步骤的疑难解答

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

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

CloseAllTabs 方法

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

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、Edge 和 Firefox 未启用自动播放音频和视频文件的功能。WebAudio.PlayWebVideo.Play 步骤可能会成功运行,但不会执行实际操作。

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

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

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

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

    值: 0x00000001

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

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

属性值

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

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

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

    例如: "mode: 'open'"

  • 不支持 CSS 和 XPath 属性。

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

Web 文件

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

hwnd 属性

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

使用 Chrome 时的问题

Browser.Navigate

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

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

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

变通方法:

卸载现有扩展,按照手动安装扩展中的安装说明从“<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

使用 Edge 时存在的问题

对象标识中心 (OIC) - 高亮显示对象

在启用侧栏的 Edge 中工作:

如果垂直选项卡显示在左侧,则 OIC 高亮显示的对象区域会发生偏移。

Browser.Close 方法

如果 Edge 窗口包含一个或多个空白选项卡,在关闭浏览器窗口时,建议使用 CloseAllTabs 方法而不是 Browser.Close 方法。

返回页首

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

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

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

  • blob:*

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

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

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

  • Firefox 起始页 (在 Firefox 中)

  • Frameset 对象

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

  • ViewLink 对象

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

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

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

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

方法
  • Browser.Object 方法

  • Browser.Stop 方法

  • Browser.Home 方法

功能

本地系统监控

返回页首

Edge 中的 IE 模式

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

Browser.Back 方法

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

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

示例:

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

Wait 2
Browser("Advantage Shopping").Back

侦测和录制

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

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

返回页首

对话框

常规

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

由于标准对话框存在的差异,使用“单击带有以下标签的按钮”恢复操作且为 Microsoft Internet Explorer 构建的弹出式恢复场景不可用于 Chrome、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) 测试应用程序

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

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

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

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

在具有 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 填充值 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='<extension ID>'>
        <updatecheck codebase='file:///<UFT One installation folder>/Installations/Chrome/v3/Agent.crx' version='extension version number' />
      </app>
    </gupdate>

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

    使用在浏览器策略中启用扩展安装中列出的扩展 ID。

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

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

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

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

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

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

返回页首

另请参见: