diff --git a/modules/browser_object_navigation.py b/modules/browser_object_navigation.py index 558c9ad22..655e54090 100644 --- a/modules/browser_object_navigation.py +++ b/modules/browser_object_navigation.py @@ -86,6 +86,15 @@ def type_in_awesome_bar(self, term: str) -> BasePage: self.awesome_bar.send_keys(term) return self + @BasePage.context_chrome + def press_ctrl_enter(self) -> BasePage: + """Press Ctrl/Cmd + Enter in Awesome Bar.""" + if self.sys_platform() == "Darwin": + self.perform_key_combo(Keys.COMMAND, Keys.ENTER) + else: + self.perform_key_combo(Keys.CONTROL, Keys.ENTER) + return self + def set_search_mode_via_awesome_bar(self, mode: str) -> BasePage: """ Given a `mode`, set the Awesome Bar search mode. Returns self. @@ -318,6 +327,7 @@ def verify_download_name(self, expected_pattern: str) -> BasePage: Argument: expected_pattern: Regex pattern to match against download name """ + self.element_visible("download-target-element") download_name = self.get_element("download-target-element") download_value = download_name.get_attribute("value") assert re.match(expected_pattern, download_value), ( diff --git a/tests/address_bar_and_search/test_ctrl_enter_fixes_url.py b/tests/address_bar_and_search/test_ctrl_enter_fixes_url.py new file mode 100644 index 000000000..64f953674 --- /dev/null +++ b/tests/address_bar_and_search/test_ctrl_enter_fixes_url.py @@ -0,0 +1,38 @@ +import pytest +from selenium.webdriver import Firefox + +from modules.browser_object import Navigation +from modules.browser_object_tabbar import TabBar + + +@pytest.fixture() +def test_case(): + return "3029196" + + +URL_FIXES = [ + ("example", "https://www.example.com/"), + ("facebook", "https://www.facebook.com/"), +] + + +@pytest.mark.parametrize("domain, expected_url", URL_FIXES) +def test_ctrl_enter_fixes_url(driver: Firefox, domain, expected_url: str): + """ + C3029196 - Test that Ctrl/Cmd + Enter adds the entire url to a domain typed in the address bar. + """ + + # Instantiate objects + nav = Navigation(driver) + tabs = TabBar(driver) + + # Open a new tab + tabs.new_tab_by_button() + tabs.switch_to_new_tab() + + # Type a domain in the address bar and press Ctrl/Cmd + Enter + nav.type_in_awesome_bar(domain) + nav.press_ctrl_enter() + + # Verify navigation to the expected URL + nav.url_contains(expected_url) diff --git a/tests/downloads/test_mixed_content_download_via_https.py b/tests/downloads/test_mixed_content_download_via_https.py index a43219129..458f18db4 100644 --- a/tests/downloads/test_mixed_content_download_via_https.py +++ b/tests/downloads/test_mixed_content_download_via_https.py @@ -21,6 +21,7 @@ def delete_files_regex_string(): MAX_CHECKS = 30 +@pytest.mark.unstable(reason="Unstable in CI environment") def test_mixed_content_download_via_https(driver: Firefox, delete_files): """ C1756722: Verify that the user can download mixed content via HTTPS