Skip to content

Commit ce50565

Browse files
committed
Fix up switching to a private browsing window
1 parent 97f9635 commit ce50565

11 files changed

+20
-27
lines changed

modules/page_base.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,14 @@ def switch_to_new_window(self) -> Page:
691691
with self.driver.context(self.driver.CONTEXT_CONTENT):
692692
return self.switch_to_new_tab()
693693

694+
def switch_to_new_private_window(self) -> Page:
695+
"Switch to new private window"
696+
non_private_window = self.driver.current_window_handle
697+
original_window_idx = self.driver.window_handles.index(non_private_window)
698+
private_window = self.driver.window_handles[1 - original_window_idx]
699+
self.driver.switch_to.window(private_window)
700+
return self
701+
694702
def switch_to_frame(self, frame: str, labels=[]) -> Page:
695703
"""Switch to inline document frame"""
696704
with self.driver.context(self.driver.CONTEXT_CHROME):

tests/security_and_privacy/test_cookies_not_saved_private_browsing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def test_cookies_not_saved_private_browsing(driver: Firefox):
2424

2525
# Open new private window
2626
panel_ui.open_private_window()
27-
nav.switch_to_new_window()
27+
nav.switch_to_new_private_window()
2828

2929
# Open the Google page and perform a search
3030
google_search.open()

tests/security_and_privacy/test_downloads_from_private_not_leaked.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,8 @@ def test_downloads_from_private_not_leaked(driver: Firefox, delete_files, screen
3939
panelui.select_panel_setting("new-private-window-option")
4040
panelui.wait_for_num_windows(2)
4141

42-
# Using this instead of switch_to_new_window, suspect it may be broken
43-
original_window_idx = driver.window_handles.index(non_private_window)
44-
private_window = driver.window_handles[1 - original_window_idx]
45-
driver.switch_to.window(private_window)
42+
nav = Navigation(driver)
43+
nav.switch_to_new_private_window()
4644

4745
about_downloads = AboutDownloads(driver)
4846
about_downloads.open()
@@ -51,7 +49,6 @@ def test_downloads_from_private_not_leaked(driver: Firefox, delete_files, screen
5149
logging.warning("About:Downloads is not registering as empty")
5250

5351
opm_forms = GenericPage(driver, url=TEST_URL)
54-
nav = Navigation(driver)
5552
opm_forms.open()
5653

5754
# Get all links to pdfs on the page

tests/security_and_privacy/test_https_enabled_private_browsing.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,8 @@ def test_https_first_mode_in_private_browsing(driver: Firefox):
2626
hamburger = PanelUi(driver)
2727
hamburger.open_private_window()
2828

29-
# nav = Navigation(driver)
30-
# nav.switch_to_new_window()
31-
32-
# Using this instead of switch_to_new_window, suspect that may be unstable
33-
# on Linux CI machines. (slow to actually fully load the new Window)
34-
non_private_window = driver.current_window_handle
35-
original_window_idx = driver.window_handles.index(non_private_window)
36-
private_window = driver.window_handles[1 - original_window_idx]
37-
driver.switch_to.window(private_window)
29+
nav = Navigation(driver)
30+
nav.switch_to_new_private_window()
3831
driver.get(HTTP_SITE)
3932

4033
# Wait for the URL to be redirected to HTTPS

tests/security_and_privacy/test_open_link_in_private_window.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def test_open_link_in_private_window(driver: Firefox):
2525
context_menu.click_and_hide_menu("context-menu-open-link-in-new-private-window")
2626

2727
nav.wait_for_num_windows(2)
28-
nav.switch_to_new_window()
28+
nav.switch_to_new_private_window()
2929
sleep(1)
3030
with driver.context(driver.CONTEXT_CHROME):
3131
nav.title_contains("Private Browsing")

tests/security_and_privacy/test_private_browser_password_doorhanger.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def test_no_password_doorhanger_private_browsing(driver: Firefox):
3030

3131
# Open Private Window
3232
panel_ui.open_private_window()
33-
nav.switch_to_new_window()
33+
nav.switch_to_new_private_window()
3434

3535
# Open the form, fill the user and password
3636
login_auto_fill.open()

tests/security_and_privacy/test_private_session_awesome_bar_exclusion.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def test_websites_visited_in_private_browser_not_displayed_in_awesome_bar(
3030
panel_ui = PanelUi(driver)
3131

3232
panel_ui.open_private_window()
33-
panel_ui.switch_to_new_window()
33+
panel_ui.switch_to_new_private_window()
3434

3535
for url in WEBSITES:
3636
driver.get(url)

tests/security_and_privacy/test_private_session_history_exclusion.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def test_websites_visited_in_private_browser_not_displayed_in_history(driver: Fi
2929

3030
panel_ui = PanelUi(driver).open()
3131
panel_ui.open_private_window()
32-
panel_ui.switch_to_new_window()
32+
panel_ui.switch_to_new_private_window()
3333

3434
driver.get(YOUTUBE_URL)
3535
driver.get(FACEBOOK_URL)

tests/security_and_privacy/test_private_window_from_panelui.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ def test_private_window_from_panelui(driver: Firefox):
1515
panelui = PanelUi(driver).open_panel_menu()
1616
panelui.select_panel_setting("new-private-window-option")
1717
panelui.wait_for_num_windows(2)
18-
panelui.switch_to_new_window()
18+
panelui.switch_to_new_private_window()
1919
AboutPrivatebrowsing(driver).wait_for_page_to_load()

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
@@ -36,7 +36,7 @@ def test_third_party_content_blocked_private_browsing_cross_site(driver: Firefox
3636

3737
# open the new window
3838
panel_ui.open_private_window()
39-
nav.switch_to_new_window()
39+
nav.switch_to_new_private_window()
4040

4141
# open the website, ensure the blocking is taking place by continuously refreshing website until indicated
4242
tracker_website.open()

0 commit comments

Comments
 (0)