已知问题 - Google Chrome、Microsoft Edge (基于 Chromium) 和 Mozilla Firefox
本主题介绍了使用 Chrome、Chromium Edge 和 Firefox 浏览器时的已知问题。
扩展安装
此部分包括有关浏览器扩展的限制信息。
要支持 UFT One 测试,必须在浏览器中安装并启用 Micro Focus UFT 代理。安装 UFT One 通常还涉及到浏览器扩展的设置。但是,有时需要人工干预。
手动启用扩展
在以下情况下,您必须手动启用适用于 Chrome / Chromium Edge 的 Micro 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 代理:
警告: 确保公司的安全策略允许您进行此更改。
-
将适用于 Chrome 的 Micro Focus UFT 代理 扩展添加到允许的扩展列表中。有关详细信息,请参阅 https://cloud.google.com/docs/chrome-enterprise/policies/?policy=ExtensionInstallAllowlist。
UFT One 2023 及更高版本: 扩展 ID 为:
njkcecfgjklpakiaknffokgoafimlggp
UFT One 版本 2022: 扩展 ID 为:
plogiilmhhnoemdddmboejjgpehkdphp
UFT One 2021 R1 及更早版本: 扩展 ID 为:
gcodaohiclimdbpgfhnimcolninnacpl
。 -
将 UFT One 添加到允许与扩展进行通信的应用程序列表。有关详细信息,请参阅 https://cloud.google.com/docs/chrome-enterprise/policies/?policy=NativeMessagingAllowlist。
要添加的应用程序是:
com.hp.uft.nativemessaginghost
要启用此通信,还需要启用 NativeMessagingUserLevelHosts 选项。有关详细信息,请参阅 https://cloud.google.com/docs/chrome-enterprise/policies/?policy=NativeMessagingUserLevelHosts。
-
将适用于 Chromium Edge 的 Micro Focus UFT 代理 扩展添加到允许的扩展列表中。有关详细信息,请参阅 https://docs.microsoft.com/en-us/deployedge/microsoft-edge-policies#extensioninstallallowlist。
UFT One 2023 及更高版本: 扩展 ID 为:
niefiagpjodjbabljbillefnehgbpnna
UFT One 版本 2022: 扩展 ID 为:
fjhedbnjafhlinpdhkboephlaedpgcjp
UFT One 2021 R1 及更早版本: 扩展 ID 为:
hgeombjfjnokonblajppgfciffpofhfl
。 -
将 UFT One 添加到允许与扩展进行通信的应用程序列表。有关详细信息,请参阅 https://docs.microsoft.com/en-us/deployedge/microsoft-edge-policies#nativemessagingallowlist。
要添加的应用程序是:
com.hp.uft.nativemessaginghost
要启用此通信,还需要启用 NativeMessagingUserLevelHosts 选项。有关详细信息,请参阅 https://docs.microsoft.com/en-us/deployedge/microsoft-edge-policies#nativemessaginguserlevelhosts。
将 Micro Focus UFT 代理 Firefox 扩展添加到要安装的扩展列表中。有关详细信息,请参阅 https://github.com/mozilla/policy-templates/blob/master/README.md#extensionsettings。
为此扩展添加的路径是: <UFT One 安装文件夹>\Installations\Firefox\WebExtension.xpi
。
手动删除扩展
在以下情况下,您可能需要从 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 插件和插件管理器 |
|
已启用用户帐户控制 |
如果您正在使用的计算机的 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 上进行录制。 |
录制时不支持的方法和功能 |
|
其他步骤的疑难解答 |
录制步骤时,可能会录制其他步骤。 变通方法: 录制会话结束后,手动删除无关步骤。 |
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.Run 或 Webutil.LaunchBrowser 打开浏览器时,页面会加载,但是页面上的操作会失败。例如,WebTable.SelectCell 方法可能无法选择单元格。 可能的原因: 加载页面后,站点将继续加载数据,并且执行的操作需要未就绪的对象。 变通方法: 使用“录制和运行设置”或使用包含指向页面上特定对象的 URL 的 SystemUtil.Run 打开浏览器。 例如:
|
编辑框 |
“对象侦测器”和“检查点属性”对话框不检索对话框中编辑框的当前值。 |
搜索工具栏或 Developer Tools 窗格 |
|
检查点 |
在 AgGrid 对象上创建或运行检查点时,请最大化浏览器以避免意外行为。 |
拖放方法 |
在以 HTML5 以外的语言编码的网页上录制测试时,只能在 Internet Explorer 中录制拖放方法。 |
运行 WebAudio.Play 和 WebVideo.Play 方法 |
默认情况下,Chrome、Chromium Edge 和 Firefox 未启用自动播放音频和视频文件的功能。WebAudio.Play 和 WebVideo.Play 步骤可能会成功运行,但不会执行实际操作。 要允许运行 WebAudio.Play 和 WebVideo.Play 方法,请执行以下步骤: 配置浏览器以允许自动播放音频和视频文件。尝试以下选项或在线检查相关浏览器设置:
|
属性值 |
使用 Chrome、Chromium Edge 或 Firefox 时,innertext、outertext、innerhtml 和 outerhtml 属性值可能不同于其他浏览器。 因此,在参数中使用这些值或运行使用这些属性值的检查点可能会导致步骤失败。 |
Shadow DOM |
|
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”文件夹中找到),您可能会遇到以下问题:
如何判断我是否使用了相关的扩展: 导航到 chrome://extensions/ 页面,然后单击 Micro Focus UFT 代理扩展上的“详细信息”。扩展的“检查”视图为服务工作程序。 变通方法:
|
使用 Firefox 时的问题
通过 HTML 对象加载的网页 | UFT One 无法准确标识通过 HTML 对象的 data 属性加载的网页上的 Web 对象。此类网页上的对象被标识为 WebElement 对象。 |
RunScript 方法 |
在 Firefox 浏览器上使用 RunScript 方法时,应在运行测试之前禁用内容安全策略:
|
使用 Chromium Edge 时的问题
使用对象标识中心 (OIC) |
在启用侧栏的 Chromium Edge 中高亮显示应用程序中的对象时:
|
不支持的测试对象、方法和功能
在 Chrome、Chromium Edge 或 Firefox 中,不支持以下测试对象、方法和其他特定于 Web 的功能:
测试对象 |
|
方法 |
|
功能 |
本地系统监控 |
Chromium Edge 中的 IE 模式
此部分列出了在 Chromium Edge 中使用 IE 模式时可能遇到的已知问题:
Browser.Back 方法 |
有时,如果上一步导致页面重定向,则可能不会执行 Browser.Back 步骤。 变通方法: 在这两个步骤之间添加 Wait 语句。 示例:
Wait 2 Browser("Advantage Shopping").Back |
在 Windows 10 上侦测/录制/运行测试 (UFT One 2021 及更早版本) |
当在 Chromium Edge 的 IE 模式下对 Web 应用程序运行测试时:
不支持在 Chromium Edge 中使用 IE 模式 侦测和录制 Web 应用程序。 |
侦测和录制 (UFT One 2021 R1 及更高版本) |
|
对话框
常规
Chrome、Chromium Edge 和 Firefox 使用的标准对话框与 Microsoft Internet Explorer 使用的 Windows 标准对话框不同。
由于标准对话框中的差异,使用“单击带有以下标签的按钮”恢复操作且为 Microsoft Internet Explorer 构建的弹出式恢复场景不可用于 Chrome、Chromium Edge 和 Firefox,反之亦然。
警报、确认和提示对话框
您无法侦测浏览器打开的“警报”、“确认”和“提示”对话框,但可以在其上录制和运行脚本。
如果在此类对话框上创建步骤,请使用 Browser.DialogExists、Browser.HandleDialog 和 Browser.GetDialogText 方法来自动化对话框行为。请参阅以下示例:
Example: 以下示例验证浏览器对话框是否存在。如果对话框确实存在,它会检索显示的消息,单击“确定”按钮,然后关闭对话框。
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
在以下情况下,HandleDialog、GetDialogText 和 DialogExist 方法可能会产生意外结果:
- 如果您在测试运行之外手动打开对话框
- 如果在测试运行期间手动关闭对话框
对于其他类型的对话框 (例如“身份验证”、“安全警报”和“证书”对话框),请使用 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 上测试安全应用程序
-
在注册表编辑器中,导航到 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome。
-
创建一个名为 ExtensionInstallForcelist 的键。
-
在 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist 中,添加一个名为 1 的新字符串值。
-
使用扩展 ID plogiilmhhnoemdddmboejjgpehkdphp 填充值 1。
您可以在 chrome://policy 页面上检查添加的策略是否已启用。
在没有 Internet 连接的 Chrome 上测试安全应用程序
-
创建一个名为 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 页面上安装的扩展来获取扩展版本号。
-
在注册表编辑器中,导航到 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome。
-
创建一个名为 ExtensionInstallForcelist 的键。
-
在 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist 中,添加一个名为 1 的新字符串值。
-
使用 plogiilmhhnoemdddmboejjgpehkdphp;file:///<UFT One 安装文件夹>/Installations/Chrome/v3/updates.xml 填充值 1。
您可以在 chrome://policy 页面上检查添加的策略是否已启用。
另请参见: