Skip to content

Commit dc8d12e

Browse files
authored
Add Ctrl+Enter completes links and stick after refresh (#904)
1 parent 7a2227e commit dc8d12e

File tree

3 files changed

+53
-13
lines changed

3 files changed

+53
-13
lines changed

modules/browser_object_navigation.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,6 @@ def type_in_awesome_bar(self, term: str) -> BasePage:
9191
self.awesome_bar.send_keys(term)
9292
return self
9393

94-
@BasePage.context_chrome
95-
def press_ctrl_enter(self) -> BasePage:
96-
"""Press Ctrl/Cmd + Enter in Awesome Bar."""
97-
if self.sys_platform() == "Darwin":
98-
self.perform_key_combo(Keys.COMMAND, Keys.ENTER)
99-
else:
100-
self.perform_key_combo(Keys.CONTROL, Keys.ENTER)
101-
return self
102-
10394
def set_search_mode_via_awesome_bar(self, mode: str) -> BasePage:
10495
"""
10596
Given a `mode`, set the Awesome Bar search mode. Returns self.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import pytest
2+
from selenium.webdriver import Firefox
3+
from selenium.webdriver.common.keys import Keys
4+
5+
from modules.browser_object import Navigation
6+
7+
8+
@pytest.fixture()
9+
def test_case():
10+
return "3028887"
11+
12+
13+
TAB_1_INPUT = "example"
14+
TAB_1_EXPECTED_DOMAIN = "example.com"
15+
16+
TAB_2_INPUT = "facebook"
17+
TAB_2_EXPECTED_DOMAIN = "facebook.com"
18+
19+
20+
def test_ctrl_enter_refreshes_tab(driver: Firefox):
21+
"""
22+
C3028887 - Verify that Ctrl/Cmd + R refreshes the webpage in the first tab
23+
after navigating with Ctrl/Cmd + Enter.
24+
"""
25+
# Instantiate objects
26+
nav = Navigation(driver)
27+
28+
# Open first tab and navigate using Ctrl+Enter
29+
nav.type_in_awesome_bar(TAB_1_INPUT)
30+
nav.perform_key_combo_chrome(Keys.CONTROL, Keys.ENTER)
31+
nav.url_contains(TAB_1_EXPECTED_DOMAIN)
32+
33+
first_tab_url = driver.current_url
34+
35+
# Open second tab and navigate using Ctrl+Enter
36+
nav.open_and_switch_to_new_window("tab")
37+
nav.type_in_awesome_bar(TAB_2_INPUT)
38+
nav.perform_key_combo_chrome(Keys.CONTROL, Keys.ENTER)
39+
nav.url_contains(TAB_2_EXPECTED_DOMAIN)
40+
41+
# Switch back to first tab
42+
driver.switch_to.window(driver.window_handles[0])
43+
44+
# Refresh using Ctrl/Cmd + R
45+
nav.refresh_page()
46+
47+
# Verify successful reload (same URL)
48+
nav.url_contains(TAB_1_EXPECTED_DOMAIN)
49+
50+
assert driver.current_url == first_tab_url

tests/address_bar_and_search/test_ctrl_enter_fixes_url.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import pytest
22
from selenium.webdriver import Firefox
3+
from selenium.webdriver.common.keys import Keys
34

45
from modules.browser_object import Navigation
56
from modules.browser_object_tabbar import TabBar
@@ -24,15 +25,13 @@ def test_ctrl_enter_fixes_url(driver: Firefox, domain, expected_url: str):
2425

2526
# Instantiate objects
2627
nav = Navigation(driver)
27-
tabs = TabBar(driver)
2828

2929
# Open a new tab
30-
tabs.new_tab_by_button()
31-
tabs.switch_to_new_tab()
30+
nav.open_and_switch_to_new_window("tab")
3231

3332
# Type a domain in the address bar and press Ctrl/Cmd + Enter
3433
nav.type_in_awesome_bar(domain)
35-
nav.press_ctrl_enter()
34+
nav.perform_key_combo_chrome(Keys.CONTROL, Keys.ENTER)
3635

3736
# Verify navigation to the expected URL
3837
nav.url_contains(expected_url)

0 commit comments

Comments
 (0)