javascript - 设置 Selenium Firefox 配置文件

标签 javascript selenium selenium-webdriver cucumber

运行我们的测试时,我们遇到了一个与 FireFox 在浏览器没有焦点时管理事件的方式相关的问题。

我们发现,通过将首选项“focusmanager.testmode”设置为 true (https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/157) 来设置 FireFox 配置文件可以解决此问题。

我的问题是,您是否知道我们的 webdriver 配置文件/配置中还有任何其他偏好/功能/值得拥有的东西?

这可以为我们在未来调试奇怪的问题/行为时节省大量时间,我非常感谢您给我的任何建议。

最佳答案

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);

要自动化设置首选项的过程,您可能喜欢使用所谓的 Firefox 自动配置文件。 示例配置:https://github.com/cliqz-oss/firefox-autoconfigs

关于javascript - 设置 Selenium Firefox 配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36519316/

相关文章:

javascript - 搜索多个用户的输入并显示其中最常用的词

javascript - 通过在页面末尾添加按钮自动将我的网页内容转换为pdf

java - If-Else 条件不适用于我的测试用例

python - Chrome 已关闭,错误为 ERROR :network_change_notifier_win. cc(141)] WSALookupServiceBegin 失败,原因为:0

javascript - 从图表上应位于的位置计算值(最佳拟合线)

javascript - 悬停子元素时,JQuery 在 mouseleave 上重复 mouseenter 事件

java - 无法通过登录页面

java - Selenium sendKeys 到错误的输入

java - Selenium Webdriver 和 Java。元素在点 (x, y) 处不可单击。其他元素将收到点击

selenium-webdriver - 获取 SPAN 的值(value) - Selenium-WebDriver