Skip to content

Commit fa0aab0

Browse files
authored
add selenium prefs file (#144)
* add selenium prefs file * try to fix armageddon fails in macos
1 parent b05e9e4 commit fa0aab0

File tree

2 files changed

+185
-6
lines changed

2 files changed

+185
-6
lines changed

conftest.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@
66
from typing import Callable, List, Tuple
77

88
import pytest
9-
from selenium import webdriver
10-
from selenium.common.exceptions import WebDriverException
9+
from selenium.common.exceptions import TimeoutException, WebDriverException
1110
from selenium.webdriver import Firefox
11+
from selenium.webdriver.common.by import By
1212
from selenium.webdriver.firefox.options import Options
13+
from selenium.webdriver.support import expected_conditions as EC
14+
from selenium.webdriver.support.ui import WebDriverWait
1315

1416

1517
def screenshot_content(driver: Firefox, opt_ci: bool, test_name: str) -> None:
@@ -239,7 +241,7 @@ def driver(
239241
options.binary_location = fx_executable
240242
for opt, value in set_prefs:
241243
options.set_preference(opt, value)
242-
driver = webdriver.Firefox(options=options)
244+
driver = Firefox(options=options)
243245
separator = "x"
244246
if separator not in opt_window_size:
245247
if "by" in opt_window_size:
@@ -252,16 +254,19 @@ def driver(
252254
driver.set_window_size(*winsize)
253255
timeout = 30 if opt_ci else opt_implicit_timeout
254256
driver.implicitly_wait(timeout)
257+
WebDriverWait(driver, timeout=40).until(
258+
EC.presence_of_element_located((By.TAG_NAME, "body"))
259+
)
255260
yield driver
256-
except WebDriverException as e:
261+
except (WebDriverException, TimeoutException) as e:
257262
logging.warning(f"DRIVER exception: {e}")
258263
finally:
259264
if "driver" in locals() or "driver" in globals():
260265
driver.quit()
261266

262267

263268
@pytest.fixture()
264-
def screenshot(driver: webdriver.Firefox, opt_ci: bool) -> Callable:
269+
def screenshot(driver: Firefox, opt_ci: bool) -> Callable:
265270
"""
266271
Factory fixture that returns a screenshot function.
267272
"""
@@ -273,7 +278,7 @@ def screenshot_wrapper(filename: str) -> str:
273278

274279

275280
@pytest.fixture()
276-
def version(driver: webdriver.Firefox):
281+
def version(driver: Firefox):
277282
return driver.capabilities["browserVersion"]
278283

279284

selenium_set_prefs.js

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
// Mozilla User Preferences - Set By Selenium Python
2+
3+
// DO NOT EDIT THIS FILE.
4+
//
5+
// If you make changes to this file while the application is running,
6+
// the changes will be overwritten when the application exits.
7+
//
8+
// To change a preference value, you can either:
9+
// - modify it via the UI (e.g. via about:config in the browser); or
10+
// - set it within a user.js file in your profile.
11+
// - set it using Selenium's webdriver.Firefox Options API
12+
13+
user_pref("app.normandy.api_url", "");
14+
user_pref("app.normandy.first_run", false);
15+
user_pref("app.normandy.migrationsApplied", 12);
16+
user_pref("app.shield.optoutstudies.enabled", false);
17+
user_pref("app.update.checkInstallTime", false);
18+
user_pref("app.update.disabledForTesting", true);
19+
user_pref("app.update.lastUpdateTime.browser-cleanup-thumbnails", 0);
20+
user_pref("app.update.lastUpdateTime.region-update-timer", 0);
21+
user_pref("app.update.lastUpdateTime.xpi-signature-verification", 0);
22+
user_pref("apz.content_response_timeout", 60000);
23+
user_pref("browser.bookmarks.addedImportButton", true);
24+
user_pref("browser.bookmarks.restore_default_bookmarks", false);
25+
user_pref("browser.contentblocking.category", "standard");
26+
user_pref("browser.contentblocking.features.standard", "-tp,tpPrivate,cookieBehavior0,-cm,-fp");
27+
user_pref("browser.contentblocking.introCount", 99);
28+
user_pref("browser.contextual-services.contextId", "{deaaca7c-8475-4e23-955c-b7f6271c40ea}");
29+
user_pref("browser.dom.window.dump.enabled", true);
30+
user_pref("browser.download.panel.shown", true);
31+
user_pref("browser.download.viewableInternally.typeWasRegistered.avif", true);
32+
user_pref("browser.download.viewableInternally.typeWasRegistered.webp", true);
33+
user_pref("browser.migration.version", 148);
34+
user_pref("browser.newtabpage.activity-stream.asrouter.providers.cfr", "null");
35+
user_pref("browser.newtabpage.activity-stream.asrouter.providers.cfr-fxa", "null");
36+
user_pref("browser.newtabpage.activity-stream.asrouter.providers.message-groups", "null");
37+
user_pref("browser.newtabpage.activity-stream.asrouter.providers.messaging-experiments", "null");
38+
user_pref("browser.newtabpage.activity-stream.asrouter.providers.snippets", "null");
39+
user_pref("browser.newtabpage.activity-stream.asrouter.providers.whats-new-panel", "null");
40+
user_pref("browser.newtabpage.activity-stream.discoverystream.config", "[]");
41+
user_pref("browser.newtabpage.activity-stream.feeds.snippets", false);
42+
user_pref("browser.newtabpage.activity-stream.fxaccounts.endpoint", "");
43+
user_pref("browser.newtabpage.activity-stream.impressionId", "{0631ac90-4d89-482d-ad52-4d114086359b}");
44+
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
45+
user_pref("browser.newtabpage.activity-stream.tippyTop.service.endpoint", "");
46+
user_pref("browser.newtabpage.enabled", false);
47+
user_pref("browser.newtabpage.storageVersion", 1);
48+
user_pref("browser.pageActions.persistedActions", "{\"ids\":[\"bookmark\"],\"idsInUrlbar\":[\"bookmark\"],\"idsInUrlbarPreProton\":[],\"version\":1}");
49+
user_pref("browser.pagethumbnails.capturing_disabled", true);
50+
user_pref("browser.pagethumbnails.storage_version", 3);
51+
user_pref("browser.proton.toolbar.version", 3);
52+
user_pref("browser.region.network.url", "");
53+
user_pref("browser.safebrowsing.blockedURIs.enabled", false);
54+
user_pref("browser.safebrowsing.downloads.enabled", false);
55+
user_pref("browser.safebrowsing.malware.enabled", false);
56+
user_pref("browser.safebrowsing.phishing.enabled", false);
57+
user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", "1722352617754");
58+
user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", "1722374217754");
59+
user_pref("browser.search.update", false);
60+
user_pref("browser.sessionstore.resume_from_crash", false);
61+
user_pref("browser.shell.checkDefaultBrowser", false);
62+
user_pref("browser.startup.couldRestoreSession.count", -1);
63+
user_pref("browser.startup.homepage_override.mstone", "ignore");
64+
user_pref("browser.startup.lastColdStartupCheck", 1722352616);
65+
user_pref("browser.startup.page", 0);
66+
user_pref("browser.tabs.remote.unloadDelayMs", 0);
67+
user_pref("browser.tabs.unloadOnLowMemory", false);
68+
user_pref("browser.tabs.warnOnCloseOtherTabs", false);
69+
user_pref("browser.tabs.warnOnOpen", false);
70+
user_pref("browser.toolbars.bookmarks.visibility", "never");
71+
user_pref("browser.topsites.contile.enabled", false);
72+
user_pref("browser.uiCustomization.state", "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"customizableui-special-spring1\",\"urlbar-container\",\"customizableui-special-spring2\",\"save-to-pocket-button\",\"downloads-button\",\"fxa-toolbar-menu-button\",\"unified-extensions-button\"],\"TabsToolbar\":[\"firefox-view-button\",\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"import-button\",\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"developer-button\"],\"dirtyAreaCache\":[\"nav-bar\",\"PersonalToolbar\"],\"currentVersion\":20,\"newElementCount\":2}");
73+
user_pref("browser.uitour.enabled", false);
74+
user_pref("browser.urlbar.merino.endpointURL", "");
75+
user_pref("browser.urlbar.placeholderName", "Google");
76+
user_pref("browser.urlbar.quicksuggest.migrationVersion", 2);
77+
user_pref("browser.urlbar.quicksuggest.scenario", "history");
78+
user_pref("browser.urlbar.suggest.searches", false);
79+
user_pref("browser.usedOnWindows10.introURL", "");
80+
user_pref("browser.warnOnQuit", false);
81+
user_pref("browser.webapps.checkForUpdates", 0);
82+
user_pref("datareporting.healthreport.documentServerURI", "http://%(server)s/dummy/healthreport/");
83+
user_pref("datareporting.healthreport.logging.consoleEnabled", false);
84+
user_pref("datareporting.healthreport.service.enabled", false);
85+
user_pref("datareporting.healthreport.service.firstRun", false);
86+
user_pref("datareporting.healthreport.uploadEnabled", false);
87+
user_pref("datareporting.policy.dataSubmissionEnabled", false);
88+
user_pref("datareporting.policy.dataSubmissionPolicyAccepted", false);
89+
user_pref("datareporting.policy.dataSubmissionPolicyBypassNotification", true);
90+
user_pref("devtools.console.stdout.chrome", true);
91+
user_pref("distribution.iniFile.exists.appversion", "128.0.3");
92+
user_pref("distribution.iniFile.exists.value", false);
93+
user_pref("dom.disable_open_during_load", false);
94+
user_pref("dom.file.createInChild", true);
95+
user_pref("dom.forms.autocomplete.formautofill", true);
96+
user_pref("dom.input_events.security.minNumTicks", 0);
97+
user_pref("dom.input_events.security.minTimeElapsedInMS", 0);
98+
user_pref("dom.ipc.reportProcessHangs", false);
99+
user_pref("dom.max_script_run_time", 0);
100+
user_pref("dom.navigation.locationChangeRateLimit.count", 0);
101+
user_pref("dom.push.connection.enabled", false);
102+
user_pref("dom.screenorientation.allow-lock", true);
103+
user_pref("dom.successive_dialog_time_limit", 0);
104+
user_pref("extensions.activeThemeID", "[email protected]");
105+
user_pref("extensions.autoDisableScopes", 0);
106+
user_pref("extensions.blocklist.detailsURL", "http://%(server)s/extensions-dummy/blocklistDetailsURL");
107+
user_pref("extensions.blocklist.itemURL", "http://%(server)s/extensions-dummy/blocklistItemURL");
108+
user_pref("extensions.blocklist.pingCountVersion", 0);
109+
user_pref("extensions.databaseSchema", 36);
110+
user_pref("extensions.enabledScopes", 5);
111+
user_pref("extensions.formautofill.creditCards.reauth.optout", "MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECMXKpnSLiTaEBAjpDtc/hEpZXA==");
112+
user_pref("extensions.getAddons.cache.enabled", false);
113+
user_pref("extensions.getAddons.discovery.api_url", "data:, ");
114+
user_pref("extensions.getAddons.get.url", "http://%(server)s/extensions-dummy/repositoryGetURL");
115+
user_pref("extensions.getAddons.search.browseURL", "http://%(server)s/extensions-dummy/repositoryBrowseURL");
116+
user_pref("extensions.hotfix.url", "http://%(server)s/extensions-dummy/hotfixURL");
117+
user_pref("extensions.installDistroAddons", false);
118+
user_pref("extensions.lastAppBuildId", "20240725162350");
119+
user_pref("extensions.lastAppVersion", "128.0.3");
120+
user_pref("extensions.lastPlatformVersion", "128.0.3");
121+
user_pref("extensions.pendingOperations", true);
122+
user_pref("extensions.pictureinpicture.enable_picture_in_picture_overrides", true);
123+
user_pref("extensions.systemAddon.update.url", "http://%(server)s/dummy-system-addons.xml");
124+
user_pref("extensions.systemAddonSet", "{\"schema\":1,\"addons\":{}}");
125+
user_pref("extensions.update.background.url", "http://%(server)s/extensions-dummy/updateBackgroundURL");
126+
user_pref("extensions.update.enabled", false);
127+
user_pref("extensions.update.notifyUser", false);
128+
user_pref("extensions.update.url", "http://%(server)s/extensions-dummy/updateURL");
129+
user_pref("extensions.webcompat.enable_shims", true);
130+
user_pref("extensions.webcompat.perform_injections", true);
131+
user_pref("extensions.webcompat.perform_ua_overrides", true);
132+
user_pref("extensions.webextensions.ExtensionStorageIDB.migrated.screenshots@mozilla.org", true);
133+
user_pref("extensions.webextensions.uuids", "{\"[email protected]\":\"1a2344df-61cb-4b8c-aeb9-7fb72fee9787\",\"[email protected]\":\"fffccc17-2e9f-4b93-b742-b65df7696b61\",\"[email protected]\":\"83336c29-ca9a-4d68-81b1-a2bb263ab3c5\",\"[email protected]\":\"dbacd59a-e407-4b51-b1a9-c915c5fc543c\",\"[email protected]\":\"25415c5d-37af-4e0a-a136-1f2172bd2b18\",\"[email protected]\":\"aa61de5f-c4a7-4436-b278-ecf362699b71\",\"[email protected]\":\"9e0599b2-4463-45b6-815c-8921df1fa9d0\"}");
134+
user_pref("focusmanager.testmode", true);
135+
user_pref("gecko.handlerService.defaultHandlersVersion", 1);
136+
user_pref("general.useragent.updates.enabled", false);
137+
user_pref("geo.provider.network.url", "");
138+
user_pref("geo.provider.testing", true);
139+
user_pref("geo.wifi.scan", false);
140+
user_pref("hangmonitor.timeout", 0);
141+
user_pref("identity.fxaccounts.auth.uri", "https://{server}/dummy/fxa");
142+
user_pref("idle.lastDailyNotification", -1);
143+
user_pref("marionette.port", 61949);
144+
user_pref("media.gmp-manager.updateEnabled", false);
145+
user_pref("media.gmp.storage.version.observed", 1);
146+
user_pref("media.sanity-test.disabled", true);
147+
user_pref("network.connectivity-service.enabled", false);
148+
user_pref("network.http.phishy-userpass-length", 255);
149+
user_pref("network.manage-offline-status", false);
150+
user_pref("network.sntp.pools", "%(server)s");
151+
user_pref("network.stricttransportsecurity.preloadlist", false);
152+
user_pref("pdfjs.enabledCache.state", true);
153+
user_pref("pdfjs.migrationVersion", 2);
154+
user_pref("permissions.isolateBy.userContext", true);
155+
user_pref("privacy.bounceTrackingProtection.hasMigratedUserActivationData", true);
156+
user_pref("privacy.sanitize.pending", "[{\"id\":\"newtab-container\",\"itemsToClear\":[],\"options\":{}}]");
157+
user_pref("remote.prefs.recommended.applied", true);
158+
user_pref("security.cert_pinning.enforcement_level", 0);
159+
user_pref("security.certerrors.mitm.priming.enabled", false);
160+
user_pref("security.fileuri.strict_origin_policy", false);
161+
user_pref("security.notification_enable_delay", 0);
162+
user_pref("security.remote_settings.intermediates.enabled", false);
163+
user_pref("services.settings.server", "data:,#remote-settings-dummy/v1");
164+
user_pref("services.sync.engine.addresses.available", true);
165+
user_pref("signon.autofillForms", false);
166+
user_pref("signon.management.page.os-auth.optout", "MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECFGOBGKB2VW/BAjlj6x7TRT7eg==");
167+
user_pref("signon.rememberSignons", false);
168+
user_pref("startup.homepage_welcome_url", "about:blank");
169+
user_pref("toolkit.startup.max_resumed_crashes", -1);
170+
user_pref("toolkit.telemetry.cachedClientID", "f97f4417-f3e3-48ea-b763-ffde7dd286e6");
171+
user_pref("toolkit.telemetry.previousBuildID", "20240725162350");
172+
user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);
173+
user_pref("toolkit.telemetry.server", "https://%(server)s/telemetry-dummy/");
174+
user_pref("widget.windows.window_occlusion_tracking.enabled", false);

0 commit comments

Comments
 (0)