Skip to content

Commit 3701d6e

Browse files
authored
Merge pull request #137 from mozilla/hy/blocking_fingerprinters
hy/Test blocking fingerprinters
2 parents 76ac154 + e5ac46d commit 3701d6e

File tree

6 files changed

+74
-11
lines changed

6 files changed

+74
-11
lines changed

modules/data/about_prefs.components.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,12 @@
258258
"groups": []
259259
},
260260

261+
"cryptominers-checkbox": {
262+
"selectorData": "contentBlockingCryptominersCheckbox",
263+
"strategy": "id",
264+
"groups": []
265+
},
266+
261267
"known-fingerprints-checkbox": {
262268
"selectorData": "contentBlockingFingerprintersCheckbox",
263269
"strategy": "id",

modules/data/google_search.components.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
"search-bar-textarea": {
33
"selectorData": "textarea[aria-label='Search']",
44
"strategy": "css",
5-
"groups": []
5+
"groups": [
6+
"requiredForPage"
7+
]
68
}
79
}

modules/data/navigation.components.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,5 +242,17 @@
242242
"groups": [
243243
"doNotCache"
244244
]
245+
},
246+
247+
"known-fingerprints": {
248+
"selectorData": ".protections-popup-category.subviewbutton.subviewbutton-iconic.blocked.subviewbutton-nav",
249+
"strategy": "css",
250+
"groups": []
251+
},
252+
253+
"fingerprints-blocked-subpanel": {
254+
"selectorData": "protections-popup-fingerprintersView",
255+
"strategy": "id",
256+
"groups": []
245257
}
246258
}

modules/page_object_google_search.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from selenium.webdriver.common.keys import Keys
12
from selenium.webdriver.remote.webelement import WebElement
23

34
from modules.page_base import BasePage
@@ -17,6 +18,13 @@ def type_in_search_bar(self, text: str) -> BasePage:
1718
search_bar = self.get_search_bar_element()
1819
search_bar.send_keys(text)
1920

21+
def press_enter_search_bar(self) -> BasePage:
22+
"""
23+
Sends Enter into the search bar
24+
"""
25+
search_bar = self.get_search_bar_element()
26+
search_bar.send_keys(Keys.ENTER)
27+
2028
def get_search_bar_element(self) -> WebElement:
2129
"""
2230
Finds the search bar element and returns it as a WebElement
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
from time import sleep
2+
3+
from selenium.webdriver import Firefox
4+
5+
from modules.browser_object_navigation import Navigation
6+
from modules.page_object_about_prefs import AboutPrefs
7+
8+
FINGERPRINTERS_URL = (
9+
"https://senglehardt.com/test/trackingprotection/test_pages/fingerprinting.html"
10+
)
11+
12+
13+
def test_blocking_fingerprinter(driver: Firefox):
14+
"""
15+
C446404: Blocking Fingerprinters
16+
"""
17+
# instantiate objects
18+
nav = Navigation(driver).open()
19+
about_prefs = AboutPrefs(driver, category="privacy").open()
20+
21+
# Select custom option and keep just known fingerprinters checked
22+
about_prefs.get_element("custom-radio").click()
23+
about_prefs.get_element("cookies-checkbox").click()
24+
about_prefs.get_element("tracking-checkbox").click()
25+
about_prefs.get_element("cryptominers-checkbox").click()
26+
about_prefs.get_element("suspected-fingerprints-checkbox").click()
27+
sleep(2)
28+
29+
# Access url and click on the shield icon and verify that known fingerprinters are blocked
30+
driver.get(FINGERPRINTERS_URL)
31+
with driver.context(driver.CONTEXT_CHROME):
32+
nav.get_element("shield-icon").click()
33+
assert nav.get_element("known-fingerprints").is_displayed()
34+
# Click on fingerprinters and check if subpanel is correctly displayed
35+
nav.get_element("known-fingerprints").click()
36+
assert nav.get_element("fingerprints-blocked-subpanel").is_displayed()

tests/security_and_privacy/test_cookies_not_saved_private_browsing.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
import pytest
12
from selenium.webdriver import Firefox
23

34
from modules.browser_object import Navigation, PanelUi
4-
from modules.page_object import AboutPrefs, GenericPage
5+
from modules.page_object import AboutPrefs, GenericPage, GoogleSearch
56
from modules.util import BrowserActions
67

78

9+
@pytest.mark.unstable
810
def test_cookies_not_saved_private_browsing(driver: Firefox):
911
"""
1012
C101677: ensure that cookies are not saved after using private browsing
@@ -13,21 +15,18 @@ def test_cookies_not_saved_private_browsing(driver: Firefox):
1315
about_prefs = AboutPrefs(driver, category="privacy")
1416
panel_ui = PanelUi(driver).open()
1517
nav = Navigation(driver)
16-
wiki_page = GenericPage(
17-
driver, url="https://ro.wikipedia.org/wiki/Pagina_principal%C4%83"
18-
)
18+
google_search = GoogleSearch(driver)
1919
ba = BrowserActions(driver)
2020

2121
# open new private window
2222
panel_ui.open_private_window()
2323
nav.switch_to_new_window()
2424

25-
# open the wiki page and perform a search
26-
wiki_page.open()
27-
wiki_search_bar = wiki_page.get_element("wiki-search-bar")
28-
wiki_search_bar.send_keys("hello")
29-
wiki_page.get_element("wiki-search-button").click()
30-
wiki_page.wait_for_page_to_load()
25+
# open the google page and perform a search
26+
google_search.open()
27+
google_search.type_in_search_bar("hello")
28+
google_search.press_enter_search_bar()
29+
google_search.wait_for_page_to_load()
3130

3231
# close the page and switch to first tab
3332
driver.close()

0 commit comments

Comments
 (0)