Skip to content

Commit b7523ed

Browse files
committed
added timeout, other fixes
1 parent 197810d commit b7523ed

File tree

3 files changed

+33
-22
lines changed

3 files changed

+33
-22
lines changed

modules/browser_object_navigation.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,5 +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()
191192
self.get_element("shield-icon").click()
192193
return self
Lines changed: 31 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
import logging
12
from typing import List
23

4+
from selenium.common.exceptions import TimeoutException
35
from selenium.webdriver.remote.webelement import WebElement
46

57
from modules.browser_object_navigation import Navigation
@@ -25,38 +27,46 @@ def wait_for_blocked_tracking_icon(
2527
first_tracker_website.open()
2628
tracker_panel.wait_for_blocked_tracking_icon(nav, first_tracker_website)
2729
"""
28-
self.driver.set_context(self.driver.CONTEXT_CHROME)
29-
try:
30-
while 1:
31-
nav.get_element("refresh-button").click()
3230

33-
self.driver.set_context(self.driver.CONTEXT_CONTENT)
31+
def shield_active() -> bool:
32+
nav.get_element("refresh-button").click()
33+
with self.driver.context(self.driver.CONTEXT_CONTENT):
3434
page.wait_for_page_to_load()
35+
shield_icon = nav.get_element("shield-icon")
36+
if (
37+
shield_icon.get_attribute("data-l10n-id")
38+
== "tracking-protection-icon-active-container"
39+
):
40+
return True
41+
return False
3542

36-
self.driver.set_context(self.driver.CONTEXT_CHROME)
37-
shield_icon = nav.get_element("shield-icon")
38-
39-
if (
40-
shield_icon.get_attribute("data-l10n-id")
41-
== "tracking-protection-icon-active-container"
42-
):
43-
return
44-
finally:
45-
self.driver.set_context(self.driver.CONTEXT_CONTENT)
43+
try:
44+
with self.driver.context(self.context_id):
45+
self.wait.until(lambda _: shield_active())
46+
except TimeoutException:
47+
logging.warning(
48+
"The shield icon was not active after refreshing mulitple times, the test has timed out."
49+
)
4650
return self
4751

4852
def verify_tracker_shield_indicator(self, nav: Navigation) -> BasePage:
49-
with self.driver.context(self.driver.CONTEXT_CHROME):
53+
"""
54+
Verifies that the shield icon is
55+
"""
56+
with self.driver.context(self.context_id):
5057
shield_icon = nav.get_element("shield-icon")
5158
assert (
5259
shield_icon.get_attribute("data-l10n-id")
5360
== "tracking-protection-icon-active-container"
54-
), "The label detected did not correspond to the expected one: tracking-protection-icon-no-trackers-detected-container"
61+
), "The label detected did not correspond to the expected one: tracking-protection-icon-active-container"
62+
return self
5563

5664
def open_and_return_cross_site_trackers(self) -> List[WebElement]:
57-
self.get_element("tracker-cross-site-tracking").click()
58-
return self.get_elements("tracking-cross-site-tracking-item")
65+
with self.driver.context(self.context_id):
66+
self.get_element("tracker-cross-site-tracking").click()
67+
return self.get_elements("tracking-cross-site-tracking-item")
5968

6069
def open_and_return_allowed_trackers(self) -> List[WebElement]:
61-
self.get_element("tracker-tracking-content").click()
62-
return self.get_elements("tracking-allowed-content-item")
70+
with self.driver.context(self.context_id):
71+
self.get_element("tracker-tracking-content").click()
72+
return self.get_elements("tracking-allowed-content-item")

tests/security_and_privacy/test_third_party_content_blocked_private_browsing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def test_third_party_content_blocked_private_browsing_allowed_tracking(driver: F
9898

9999
def test_third_party_content_private_browsing_tracking_statuses(driver: Firefox):
100100
"""
101-
C446323.3: Ensure that the statuses of some third party content is loaded properly
101+
C446323.3: Ensure that the statuses of some third party content are loaded properly
102102
"""
103103
# instantiate objects
104104
panel_ui = PanelUi(driver).open()

0 commit comments

Comments
 (0)