我们的持续集成过程使用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);
其中(according to MDN)应覆盖任何其他值。不幸的是它不起作用 - about:config页面仍然显示自动更新为app.update.auto
为真。 This MDN page说:
所有基于Mozilla的应用程序都读取(应用程序目录)/ defaults / preferences / * .js
但不幸的是,这也不起作用 - 价值保持不变。
我已经搜索了Bugzilla数据库,但找不到任何相关内容(除了升级删除了all.js文件这一事实,所以一定要使用all- * .js文件)。
有没有人对Mozilla Firefox的运行方式有足够的了解,告诉我如何设置此偏好值? (请不要说“点击about:config页面” - 它需要自动确保构建可重复且稳定)。
谢谢,詹姆斯
编辑: 很抱歉,如果上述内容不明确:我可以为新创建的配置文件创建默认首选项,就好了。但由于用户已经拥有个人资料,因此不会产生任何影响。我可以在每台机器上创建一个新的配置文件,对于每个用户,禁用此设置 - 但这是一个很大的开销。世界各地的系统管理员必须以某种方式使用此功能,当然:使用集中设置覆盖给定偏好的方法?
答案 0 :(得分:0)
最可能的原因是使用user_pref()
功能 - 正如名称已经说明的那样,这个保留用户的偏好(在用户的个人资料中),默认偏好应该使用{{1相反。
您还必须考虑无论您放入此目录的是默认首选项,都可以在浏览器配置文件中覆盖它们(在文件pref()
中)。如果您没有使用干净的配置文件,则可以在此处设置首选项,然后默认设置不会产生任何影响。
答案 1 :(得分:0)
来自MDN:Enterprise Deployment (Configuration)
某些配置项需要设置
lockPref
,例如app.update.enabled
。如果仅使用pref
进行设置,则无效。
怀疑这可能也适用于app.update.auto
。虽然我在about:config
中找不到任何特定于任何给定加载项的明显(即命名更新)配置选项。所以我甚至不知道每个附加设置是否是一个pref?