From db54174c62aee2d09bbe2b8626c22decbc00407a Mon Sep 17 00:00:00 2001 From: Temidayo32 Date: Fri, 21 Feb 2025 13:42:39 +0100 Subject: [PATCH] fixed private window method --- .../windows/browser/panel_ui/panel_ui.py | 19 ++++--- tests/test_panel_ui.py | 54 +++++++++---------- 2 files changed, 35 insertions(+), 38 deletions(-) diff --git a/foxpuppet/windows/browser/panel_ui/panel_ui.py b/foxpuppet/windows/browser/panel_ui/panel_ui.py index efd31e5..88cf407 100644 --- a/foxpuppet/windows/browser/panel_ui/panel_ui.py +++ b/foxpuppet/windows/browser/panel_ui/panel_ui.py @@ -108,17 +108,17 @@ def open_private_window(self) -> None: lambda _: set(self.selenium.window_handles) - initial_handles, message="Private window did not open", ) - new_private_window = ( - set(self.selenium.window_handles) - initial_handles - ).pop() - self.selenium.switch_to.window(new_private_window) - from foxpuppet.windows.browser.window import BrowserWindow - new_window = BrowserWindow(self.selenium, new_private_window) - - if not new_window.is_private: - raise ValueError("The new window is not private.") + new_private_window = self.selenium.window_handles[-1] + try: + private_window = BrowserWindow( + self.selenium, new_private_window + ).is_private + if private_window: + self.selenium.switch_to.window(new_private_window) + except Exception as e: + raise Exception(f"The new window is not private: {str(e)}") def open_history_menu(self) -> None: """ @@ -172,7 +172,6 @@ def clear_history(self): """, self.selenium.find_element(*PanelUILocators.HISTORY_DIALOG_BUTTON), ) - self.selenium.switch_to.default_content() class PanelUILocators: diff --git a/tests/test_panel_ui.py b/tests/test_panel_ui.py index 63d1e57..8ec837b 100644 --- a/tests/test_panel_ui.py +++ b/tests/test_panel_ui.py @@ -72,13 +72,10 @@ def test_url_is_present_in_history(browser_history: History, selenium: WebDriver browser_history.open_history_menu() history_items = browser_history.history_items() with selenium.context(selenium.CONTEXT_CHROME): - is_present = False - for item in history_items: - image_attr = item.get_attribute("image") - if image_attr is not None: - is_present = url in image_attr - if is_present: - break + is_present = any( + (image_attr := item.get_attribute("image")) and url in image_attr + for item in history_items + ) assert is_present @@ -106,13 +103,15 @@ def test_verify_links_open_in_new_tab_from_history( panel_ui.open_history_menu() history_items = browser_history.history_items() with selenium.context(selenium.CONTEXT_CHROME): - found_urls = [] - for link in links: - for item in history_items: - image_attr = item.get_attribute("image") - if image_attr is not None and link in image_attr: - found_urls.append(link) - break + found_urls = [ + link + for link in links + if any( + image_attr is not None and link in image_attr + for item in history_items + if (image_attr := item.get_attribute("image")) + ) + ] assert len(found_urls) == 3 @@ -128,13 +127,15 @@ def test_verify_links_open_in_new_window_from_history( panel_ui.open_history_menu() history_items = browser_history.history_items() with selenium.context(selenium.CONTEXT_CHROME): - found_urls = [] - for link in links: - for item in history_items: - image_attr = item.get_attribute("image") - if image_attr is not None and link in image_attr: - found_urls.append(link) - break + found_urls = [ + link + for link in links + if any( + image_attr is not None and link in image_attr + for item in history_items + if (image_attr := item.get_attribute("image")) + ) + ] assert len(found_urls) == 3 @@ -151,11 +152,8 @@ def test_clear_recent_history( panel_ui.open_history_menu() history_items = browser_history.history_items() with selenium.context(selenium.CONTEXT_CHROME): - is_present = False - for item in history_items: - image_attr = item.get_attribute("image") - if image_attr is not None: - is_present = url in image_attr - if is_present: - break + is_present = any( + (image_attr := item.get_attribute("image")) and url in image_attr + for item in history_items + ) assert not is_present