2016-04-09 4 views
3

Выполняя наши тесты, мы столкнулись с проблемой, связанной с тем, как FireFox управляет событиями, когда браузер не имеет фокуса.Настройка профиля Selenium Firefox

Мы выяснили, что эту проблему можно решить, установив профиль FireFox с предпочтением «focusmanager.testmode», установленным в true (https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/157).

Вопрос в том, знаете ли вы какие-либо другие предпочтения/возможности/все, что стоит иметь в нашем профиле/конфигурации webdriver?

Это могло бы сэкономить нам много времени в будущих отладках странных проблем/поведения, и я был бы очень признателен за любые советы, которые вы могли бы мне дать.

+2

Чтобы быть честным, я вполне уверен, что у меня есть набор пользовательских настроек/настроек профиля: (a), чтобы минимизировать различия между проверенными и обычными пользователями, (б) минимизировать код, зависящий от браузера. Я все из-за ошибок FF, которые исправляются, и поведение по умолчанию меняется, вместо того, чтобы люди выбирают разные обходные пути. Другими словами, я бы хотел, чтобы Firefox был черным ящиком. –

+0

@AndrewRegan вы могли бы дать свой комментарий в качестве ответа, чтобы я мог отметить его как принятый? Благодарю. – acontell

ответ

0

Просто последующая мой комментарий, я вполне анти имеет набор пользовательских предпочтений/профильные настройки:

  • , чтобы свести к минимуму различия между тем, что испытано и то, что регулярным пользователь увидит
  • минимизировать браузер специального кода
  • плюс это может сделать диагностику проблем на таких сайтах, как это более сложного

Другими словами, я бы хотел, чтобы Firefox (и др.) Был черным ящиком.

У меня все проблемы с исправлениями Firefox, и, возможно, даже поведение по умолчанию меняется со временем, предоставляя всем «на одной странице». Я думаю, что тестирование достаточно сложно, если люди не выбирают разные способы обхода.

3

У 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

+0

Мы решили не вмешиваться в профиль и идти за решением Эндрю Ригана. Спасибо, в любом случае. – acontell

Смежные вопросы