diff --git a/Pipfile b/Pipfile index 94087ec5b..88f965bca 100644 --- a/Pipfile +++ b/Pipfile @@ -25,6 +25,7 @@ google-auth = "2.32.0" psutil = "<6.1" pytest-json-report = "==1.5.0" beautifulsoup4 = "4.12.3" +autopy = "*" [dev-packages] werkzeug = "==3.0.3" diff --git a/manifests/incident.yaml b/manifests/incident.yaml index 774f2c3d4..ac5defe79 100644 --- a/manifests/incident.yaml +++ b/manifests/incident.yaml @@ -116,7 +116,6 @@ profile: - test_set_default_profile reader_view: - test_improved_type_control_panel -- test_reader_view_location_bar scrolling_panning_zooming: - test_default_zoom_persists - test_mouse_wheel_zoom diff --git a/manifests/key.yaml b/manifests/key.yaml index a9732db04..b061c45e0 100644 --- a/manifests/key.yaml +++ b/manifests/key.yaml @@ -24,6 +24,10 @@ address_bar_and_search: result: pass splits: - functional1 + test_bing_search_codes: + result: pass + splits: + - functional1 test_copied_url_contains_https: result: pass splits: @@ -748,10 +752,7 @@ password_manager: - ci-extended pdf_viewer: test_add_image_pdf: - result: - linux: unstable - mac: pass - win: pass + result: pass splits: - smoke test_download_pdf_with_form_fields: diff --git a/modules/browser_object_reader_view.py b/modules/browser_object_reader_view.py index 0d4ffdd24..a956b5ac6 100644 --- a/modules/browser_object_reader_view.py +++ b/modules/browser_object_reader_view.py @@ -40,13 +40,13 @@ def open_reader_view_keys(self) -> BasePage: self.wait_for_reader_view_open() return self + @BasePage.context_chrome def close_reader_view_searchbar(self) -> BasePage: """ Closes the reader view using the search bar """ before_page_source = self.driver.page_source - with self.driver.context(self.driver.CONTEXT_CHROME): - self.get_element("reader-view-button").click() + self.get_element("reader-view-button").click() self.wait.until(lambda _: self.driver.page_source != before_page_source) self.wait_for_reader_view_closed() return self diff --git a/modules/page_object_generics.py b/modules/page_object_generics.py index 786fc7ed1..13febc63a 100644 --- a/modules/page_object_generics.py +++ b/modules/page_object_generics.py @@ -170,27 +170,24 @@ def add_image(self, image_path: str, sys_platform: str) -> BasePage: self.get_element("toolbar-add-image").click() self.get_element("toolbar-add-image-confirm").click() sleep(1.5) - from pynput.keyboard import Controller, Key + import autopy - keyboard = Controller() if sys_platform == "Darwin" or sys_platform == "Linux": - keyboard.type("/") + autopy.key.tap("/") sleep(1.5) - keyboard.type(image_path.lstrip("/")) + autopy.key.type_string(image_path.lstrip("/"), wpm=90) else: sleep(1.5) - keyboard.type(image_path) + autopy.key.type_string(image_path, wpm=50) sleep(1) - keyboard.press(Key.enter) - keyboard.release(Key.enter) + autopy.key.tap(autopy.key.Code.RETURN) sleep(1) - keyboard.press(Key.enter) - keyboard.release(Key.enter) + autopy.key.tap(autopy.key.Code.RETURN) sleep(1.5) for _ in range(3): - keyboard.tap(Key.tab) + autopy.key.tap(autopy.key.Code.TAB) sleep(0.5) - keyboard.tap(Key.enter) + autopy.key.tap(autopy.key.Code.RETURN) sleep(1) return self diff --git a/tests/address_bar_and_search/test_bing_search_codes.py b/tests/address_bar_and_search/test_bing_search_codes.py new file mode 100644 index 000000000..3b5e28f86 --- /dev/null +++ b/tests/address_bar_and_search/test_bing_search_codes.py @@ -0,0 +1,37 @@ +import pytest +from selenium.webdriver import Firefox + +from modules.browser_object import Navigation, TabBar +from modules.page_object import AboutPrefs + +SEARCH_ENGINE = "Bing" +SEARCH_TERM = "earth" +TAB_TITLE = f"{SEARCH_TERM} - Search" +BING_CODES = ["form=MOZLBR&pc=MOZI", "pc=MOZI&form=MOZLBR"] + + +@pytest.fixture() +def test_case(): + return "3029767" + + +def test_bing_search_codes(driver: Firefox): + """ + C3029767 - Verify that Search Code Testing: Bing - US is correctly displayed and functional. + """ + nav = Navigation(driver) + prefs = AboutPrefs(driver) + tab = TabBar(driver) + + # Go to search engine settings + nav.open_searchmode_switcher_settings() + + # Change the default search engine + prefs.search_engine_dropdown().select_option(SEARCH_ENGINE) + + # Open a tab and verify Bing search code + driver.get("about:newtab") + nav.search(SEARCH_TERM) + tab.expect_title_contains(TAB_TITLE) + assert any(code in driver.current_url for code in BING_CODES) + nav.clear_awesome_bar()