Skip to content

Commit 25dcd12

Browse files
committed
Replace method with fixture
1 parent 511c13b commit 25dcd12

File tree

3 files changed

+29
-46
lines changed

3 files changed

+29
-46
lines changed

modules/browser_object_navigation.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,6 @@ def open_tracker_panel(self) -> BasePage:
188188
"""
189189
Clicks the shield icon and opens the panel associated with it
190190
"""
191-
self.set_chrome_context()
192-
self.get_element("shield-icon").click()
193-
return self
191+
with self.driver.context(self.context_id):
192+
self.get_element("shield-icon").click()
193+
return self

modules/page_object_about_prefs.py

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -322,40 +322,3 @@ def get_iframe(self) -> WebElement:
322322
Gets the webelement for the iframe that commonly appears in about:preferences
323323
"""
324324
return self.get_element("browser-popup")
325-
326-
def set_etp_custom_mode(self) -> BasePage:
327-
"""Select the Custom mode in Enhanced Tracking Protection section"""
328-
self.get_element("custom-radio").click()
329-
return self
330-
331-
def set_etp_custom_mode_options(self, options_to_check: List[str]) -> BasePage:
332-
"""
333-
Configures the Custom mode settings in the Enhanced Tracking Protection (ETP) section by selecting
334-
specified options.
335-
336-
This method first ensures that the browser is set to Custom mode. It then deselects all available
337-
tracking protection options (there are checked by default) and selectively re-checks only those specified in the
338-
`options_to_check` list (multiple values can be checked at once).
339-
"""
340-
self.set_etp_custom_mode()
341-
checkbox_mapping = {
342-
"cookies": self.get_element("cookies-checkbox"),
343-
"tracking": self.get_element("tracking-checkbox"),
344-
"cryptominers": self.get_element("cryptominers-checkbox"),
345-
"known_fingerprints": self.get_element("known-fingerprints-checkbox"),
346-
"suspected_fingerprints": self.get_element(
347-
"suspected-fingerprints-checkbox"
348-
),
349-
}
350-
351-
# Uncheck all options first
352-
for checkbox in checkbox_mapping.values():
353-
if checkbox.is_selected():
354-
checkbox.click()
355-
356-
# Check only the specified options
357-
for option in options_to_check:
358-
checkbox = checkbox_mapping.get(option)
359-
if checkbox and not checkbox.is_selected():
360-
checkbox.click()
361-
return self

tests/security_and_privacy/test_tracking_content_custom_mode.py

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
from time import sleep
2+
3+
import pytest
14
from selenium.webdriver import Firefox
25

36
from modules.browser_object_navigation import Navigation
@@ -7,20 +10,34 @@
710
Tracker_URL = "https://senglehardt.com/test/trackingprotection/test_pages/tracking_protection.html"
811

912

13+
@pytest.fixture()
14+
def add_prefs():
15+
return [
16+
("network.cookie.cookieBehavior", 0),
17+
("privacy.trackingprotection.pbmode.enabled", False),
18+
("privacy.trackingprotection.cryptomining.enabled", False),
19+
("privacy.trackingprotection.fingerprinting.enabled", False),
20+
("privacy.fingerprintingProtection.pbmode", False),
21+
]
22+
23+
1024
def test_blocked_tracking_content(driver: Firefox):
1125
"""
1226
C446405.1: Ensure that ETP Custom mode with option Tracking Content -> In all windows set blocks tracking content
1327
"""
1428

1529
nav = Navigation(driver)
16-
about_prefs = AboutPrefs(driver, category="privacy").open()
1730
tracker_panel = TrackerPanel(driver)
18-
19-
about_prefs.set_etp_custom_mode_options(["tracking"])
31+
about_prefs = AboutPrefs(driver, category="privacy").open()
32+
about_prefs.get_element("tracking-checkbox").click()
2033
about_prefs.get_element("tracking-in-all-windows").click()
34+
sleep(2)
2135

2236
driver.get(Tracker_URL)
2337
nav.open_tracker_panel()
38+
39+
driver.set_context(driver.CONTEXT_CHROME)
40+
2441
tracker_panel.get_element("tracker-tracking-content").click()
2542
tracker_subview_title = tracker_panel.get_element("tracking-subview")
2643
assert tracker_subview_title.get_attribute("title") == "Tracking Content Blocked"
@@ -33,13 +50,16 @@ def test_allowed_tracking_content(driver: Firefox):
3350
"""
3451

3552
nav = Navigation(driver)
36-
about_prefs = AboutPrefs(driver, category="privacy").open()
3753
tracker_panel = TrackerPanel(driver)
38-
39-
about_prefs.set_etp_custom_mode_options(["tracking"])
54+
about_prefs = AboutPrefs(driver, category="privacy").open()
55+
about_prefs.get_element("tracking-checkbox").click()
56+
sleep(2)
4057

4158
driver.get(Tracker_URL)
4259
nav.open_tracker_panel()
60+
61+
driver.set_context(driver.CONTEXT_CHROME)
62+
4363
tracker_panel.get_element("tracker-tracking-content").click()
4464
tracker_subview_title = tracker_panel.get_element("tracking-subview")
4565
assert (

0 commit comments

Comments
 (0)