设置Selenium Firefox配置文件
Setting up Selenium Firefox profile
在运行测试时,我们遇到了一个与FireFox在浏览器没有焦点时管理事件的方式有关的问题。
我们发现,通过设置首选项"focusmanager.testmode"为true的FireFox配置文件,可以解决这个问题(https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/157)。
我的问题是,你知道在我们的网络驱动程序配置文件中还有其他值得拥有的偏好/能力吗?
这可以为我们在未来调试奇怪的问题/行为节省大量时间,如果您能给我任何建议,我将不胜感激。
Firefox有各种各样的偏好,可以进行调整以提高测试的稳定性。但正如Andrew Regan所指出的,改变任何事情都可能影响你的测试,所以这可能不是一个好主意。
无论如何,这是一组我用来减少由于意外浏览器行为而导致测试失败的首选项:
// Disable checking if firefox is default browser
lockPref('browser.shell.checkDefaultBrowser', false);
// Disable restoring session
lockPref('browser.sessionstore.resume_from_crash', false);
// Disable updater
lockPref("app.update.enabled", false);
// make absolutely sure it is really off
lockPref("app.update.auto", false);
lockPref("app.update.mode", 0);
lockPref("app.update.service.enabled", false);
// Prevent closing dialogs
lockPref("browser.showQuitWarning", false);
lockPref("browser.warnOnQuit", false);
lockPref("browser.tabs.warnOnClose", false);
lockPref("browser.tabs.warnOnCloseOtherTabs", false);
// Disable Add-ons compatibility checking
clearPref("extensions.lastAppVersion");
// Don't show 'know your rights' on first run
pref("browser.rights.3.shown", true);
//Disable plugin checking
lockPref("plugins.hide_infobar_for_outdated_plugin", true);
clearPref("plugins.update.url");
// Disable health reporter
lockPref("datareporting.healthreport.service.enabled", false);
// Disable all data upload (Telemetry and FHR)
lockPref("datareporting.policy.dataSubmissionEnabled", false);
// Disable crash reporter
lockPref("toolkit.crashreporter.enabled", false);
Components.classes["@mozilla.org/toolkit/crash-reporter;1"].getService(Components.interfaces.nsICrashReporter).submitReports = false;
// Browser Console command line
pref("devtools.chrome.enabled", true);
要自动设置pref,您可能需要使用所谓的Firefox自动配置文件。示例配置:https://github.com/cliqz-oss/firefox-autoconfigs
为了跟进我的评论,我非常反对使用一组自定义的首选项/配置文件设置:
- 最大限度地减少测试内容与普通用户看到的内容之间的差异
- 尽量减少特定于浏览器的代码
- 此外,它还可以使在这样的网站上诊断问题变得更加复杂
换句话说,我希望Firefox(等)成为一个黑盒子。
我完全支持修复Firefox漏洞,甚至可能随着时间的推移,默认行为也会不断演变,前提是每个人都"站在同一个页面上"。我认为如果没有人选择不同的解决方案,测试就足够复杂了。
相关文章:
- 使用javascript配置文件作为handlebas博客模板,但配置不是't工作正常
- 我可以访问量角器配置文件中的参数吗
- 如何从配置文件中设置Angular值
- SoundCloud API-基于系统中的ID创建用户配置文件
- 先在Angular中加载配置文件,然后再加载其他文件
- 正在读取节点中的配置文件
- 检查蒸汽配置文件url是否有效
- 将配置文件文件夹移动到sdcardfirefoxmobile14.0
- 可能有一个javascript和php的配置文件
- 对CommonJS配置文件使用全局变量
- 未从Selenium网络驱动程序中的配置文件接收到正确的值
- 使用AddThis-config-data_ga_property向两个Google Analytics配置文件报告
- 如何使用浏览器“需要”配置文件,但不将此文件包含在捆绑包中
- Webdriver:用于动态禁用/启用JavaScript弹出窗口的Firefox配置文件
- 如何从 Webjar 解析多个 RequireJS 配置文件
- 通过oauth令牌passport.js访问用户配置文件
- mongodb用户配置文件添加输入时出现问题
- 设置Selenium Firefox配置文件
- Dojo实习生设置firefox配置文件名称
- Jmeter WebDriver示例如何加载Firefox配置文件