已知问题 - Mozilla Firefox

常规

Firefox 的多个版本

如果在同一计算机上安装了两种次要版本的 Mozilla Firefox,并且在安装更高版本之后安装早期版本,则 UFT One 可能无法识别最新版本。

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

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

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

已启用用户帐户控制

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

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

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

匿名内容元素

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

SAP WDJ 插件

SAP WDJ 插件在 Firefox 浏览器中不受支持。

Firefox 中的标准对话框

Mozilla Firefox 使用与 Microsoft Internet Explorer 使用的 Windows 标准对话框不同的标准对话框。

  • 如果在此类对话框上创建步骤,则应创建在 Mozilla Firefox 上运行时使用的其他步骤,并在这些步骤之前添加 If 语句,以检查哪个浏览器正在运行。
  • 由于标准对话框中的差异,使用单击带有以下标签的按钮恢复操作且为 Microsoft Internet Explorer 构建的弹出式恢复场景将不可用于 Mozilla Firefox,反之亦然。

有关示例,请参见Internet Explorer 和 Firefox 中的标准对话框示例

特权 URL

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

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

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

在浏览器策略中启用 Micro Focus UFT 代理 扩展安装

如果扩展由于您的浏览器策略而无法安装,请手动将 Micro Focus UFT 代理 Firefox 扩展添加到要安装的扩展列表。

有关详细信息,请参阅 https://github.com/mozilla/policy-templates/blob/master/README.md#extensions

为此扩展添加的路径是: <UFT One 安装文件夹>\Installations\Firefox\WebExtension.xpi

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

Internet Explorer 和 Firefox 中的标准对话框示例

以下两个对话框是对相同网站的安全警报。左边的来自 Microsoft Internet Explorer,右边的则来自 Mozilla Firefox。尽管它们看起来都像是 Windows 对话框,但 Mozilla Firefox 的实际上是浏览器窗口。

返回页首

录制

先决条件

只有完全加载 Mozilla Firefox 页面后,才能在该页面上进行录制。

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

  • 如果浏览器对话框 (如警报、确认或提示) 在新的浏览器选项卡中打开,则 UFT 不会录制在这些对话框上执行的步骤。
  • 在 Mozilla Firefox 上录制时,UFT One 不会使用位置标识符来识别对象。

  • UFT One 15.0.1 或更早版本: Firefox 不支持底层录制。

  • 只有在 Firefox 中录制时,交互屏幕才会捕获静态图像。

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

  • SAPUIList.SetItemData。要在列表中的输入字段上进行录制,请在录制过程中单击该字段两次,然后再输入文本。
  • 不支持使用以下方法在 Mozilla Firefox 上录制:

    Browser.Home

    Browser.FullScreen

其他步骤的疑难解答

在 Mozilla Firefox 中录制步骤时,可能会录制其他步骤。

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

缺少提交操作

在某些 Mozilla Firefox 版本上录制时,如果通过输入搜索字符串在 google.com 上进行搜索,然后按 Enter,则不会录制提交操作。

随后运行测试时,UFT One 输入搜索字符串但不执行搜索。

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

  • 录制搜索操作时,单击搜索按钮,而非按 Enter

  • 手动将提交 (或单击) 步骤添加到测试或组件。

If Handler 选项

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

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

CloseAllTabs 方法

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

返回页首

测试对象、方法、属性和检查点

关闭浏览器窗口

如果测试或业务组件包含关闭 Mozilla Firefox 浏览器的步骤,则在测试运行期间到达该步骤时,UFT One 可能会出现意外行为。

变通方法: 不包含关闭 Mozilla Firefox 浏览器的步骤。

拖放
  • 如果在 Firefox 中拖放选项卡以创建新窗口,UFT One 将停止识别、录制或运行新窗口中的任何 Web 对象。
  • 在以 HTML5 以外的语言编码的网页上录制测试时,只能在 Internet Explorer 中录制拖放方法。
编辑框

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

hwnd 属性

使用 Firefox 57 或更高版本时,不支持 hwnd 属性。

属性值和检查点

使用 Mozilla Firefox 时,innertextoutertextinnerhtmlouterhtml 属性值可能与其他浏览器不同。

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

RunScript 方法

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

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

  2. 搜索 security.csp.enable

  3. 将值更改为 false

搜索或开发人员工具栏

如果在 Mozilla Firefox 中打开搜索工具栏或开发人员工具栏,则在侦测对象或突出显示对象存储库中的对象时,突出显示矩形将显示在浏览器窗口中的错误位置。

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

快照 如果抓取 FireFox 上 ASPAjaxRichTextArea 对象的快照,则可能无法在活动屏幕中正确显示。
tabmodal 对话框

“对象侦测器”和“导航并识别”对话框无法在 Mozilla Firefox 中检索选项卡模态对话框的当前值。

文本区域检查点

Mozilla Firefox 不支持文本区域 检查点。

WebButton 测试对象的 Type 属性

WebButton 测试对象的 Type 属性在 Microsoft Internet Explorer 和 Mozilla Firefox 中的默认值不同。

在 Microsoft Internet Explorer 中,默认值是 Button,而在 Mozilla Firefox 中,默认值是 Submit

变通方法:WebButton 测试对象的描述中不使用 Type 属性。

浏览器对话框

  • Mozilla Firefox 版本 69: 从跨源框架打开的对话框不支持方法 Browser.DialogExists

  • UFT One 不支持直接在 Mozilla Firefox 中访问浏览器对话框 (如警报、确认或提示)。

    变通方法: 使用UFT One Object Model Reference for GUI Testing》Web 部分中介绍的 HandleDialogGetDialogText 方法。

    如果识别到 Browser("xxx").Dialog("xxx").Page("xxx") 对象,请通过采用 HandleDialog 方法的恢复场景,或使用 Browser("xxx").Dialog("xxx").Page("xxx").Type 步骤来处理弹出对话框。

    例如,使用 Enter 键单击默认按钮并关闭对话框。

    注释: 如果您使用的是 Firefox 57 或更高版本,则在以下情况下,GetDialogTextDialogExist 方法可能会产生意外结果:

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

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

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

  • about://* 页面

  • Browser.Object 方法

  • Browser.Stop

  • Firefox 起始页

  • Frameset 对象在 Mozilla Firefox 浏览器中不受支持。

  • Mozilla Firefox 不支持本地系统监控。
  • 模式对话框或无模式对话框

  • ViewLink 测试对象

  • WebAudio.Play。 变通方法: 在 Firefox 中,浏览到 about:config 并将 media.autoplay.enabled 值设置为 false

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

返回页首

另请参见: