1

我们的持续集成过程使用 Selenium,在过去几个月中,由于 Firefox 自身更新(无论是在开发人员机器上还是在 CI 服务器上),它已经两次被淘汰。

因此,我们将前一个版本的 firefox 与后一个版本一起安装(这次是在一个名为 firefox-16 的目录中),直到 Selenium 赶上。

问题是,app.update.auto 设置(在 about:config 中)默认设置为 true - 这意味着它迟早会更新到 17 并且 selenium 会中断。/usr/lib/firefox-16/defaults/pref因此,我们在包含的文件夹中安装了一个 all-no-update.js 文件

user_pref("app.update.auto", false);

其中(根据 MDN)应该覆盖任何其他值。不幸的是,它不起作用 - about:config 页面仍将自动更新显示app.update.auto为 true。 这个 MDN 页面说:

所有基于 Mozilla 的应用程序都读取(应用程序目录)/defaults/preferences/*.js

但不幸的是,这也不起作用 - 值保持不变。

我搜索了 Bugzilla 数据库,但找不到任何相关信息(除了 all.js 文件被升级删除的事实,因此请务必使用 all- * .js 文件)。

有没有人足够了解 Mozilla Firefox 的工作原理来告诉我如何设置这个偏好值?(请不要说“点击 about:config 页面”——它需要自动确保构建可重复且稳定)。

谢谢,詹姆斯


编辑:抱歉,如果上述内容不清楚:我可以为新创建的配置文件创建默认首选项,就可以了。但由于用户已经有一个配置文件,这不会有任何影响。我可以在每台机器上为禁用此设置的每个用户创建一个新的配置文件 - 但这是很多开销。世界各地的系统管理员肯定会以某种方式使用此功能:一种用集中设置的方式覆盖给定偏好的方法?

4

2 回答 2

0

最可能的原因是使用user_pref()功能 - 正如名称已经说过的那样,这是为用户的首选项(在用户的配置文件中)保留的,应该使用默认首选项pref()

您还必须考虑到您放入此目录的任何内容都是默认首选项,它们可以在浏览器配置文件中(在那里的文件prefs.js中)被覆盖。如果您没有使用干净的配置文件,则可以在那里设置首选项,然后默认设置不会有任何影响。

供参考:Mozilla 偏好的简要指南

于 2012-12-03T08:14:47.413 回答
0

来自 MDN:企业部署(配置)

有些配置项需要lockPref设置,例如app.update.enabled. 如果设置为 just ,它将不起作用pref

怀疑这也可能适用app.update.auto。尽管我找不到任何特定于任何给定附加组件的明显(即名为update)配置选项。about:config所以我什至不知道每个附加设置是否是首选?

于 2016-04-24T12:37:39.273 回答