Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

/.vscode/
/venv/
.env
.report.json
Expand Down
7 changes: 7 additions & 0 deletions SELECTOR_INFO.md
Original file line number Diff line number Diff line change
Expand Up @@ -1775,6 +1775,13 @@ Location: Toolbar - any bookmark context menu
Path to .json: modules/data/context_menu.components.json
```
```
Selector Name: context-menu-toolbar-open-in-new-tab
Selector Data: selectorData": "placesContext_open:newtab"
Description: Context menu option from a Toolbar bookmark
Location: Toolbar - any bookmark context menu
Path to .json: modules/data/context_menu.components.json
```
```
Selector Name: context-menu-toolbar-open-all-bookmarks
Selector Data: placesContext_openBookmarkContainer:tabs
Description: Open all bookmarks from the context menu option from a Toolbar bookmark
Expand Down
17 changes: 17 additions & 0 deletions modules/browser_object_navigation.py
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,23 @@ def open_bookmark_from_toolbar(self, bookmark_title: str) -> BasePage:
self.panel_ui.click_on("bookmark-by-title", labels=[bookmark_title])
return self

@BasePage.context_chrome
def open_bookmark_in_new_tab_via_context_menu(
self, bookmark_title: str
) -> BasePage:
"""
Right-click bookmark and opens it in a new tab via context menu

Argument:
bookmark_title: The title of the bookmark to open
"""
# Right-click the bookmark and open it in new tabe via context menu item
self.panel_ui.element_clickable("bookmark-by-title", labels=[bookmark_title])
self.panel_ui.context_click("bookmark-by-title", labels=[bookmark_title])
self.context_menu.click_on("context-menu-toolbar-open-in-new-tab")

return self

@BasePage.context_chrome
def open_bookmark_in_new_window_via_context_menu(
self, bookmark_title: str
Expand Down
6 changes: 6 additions & 0 deletions modules/data/context_menu.components.json
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,12 @@
"groups": []
},

"context-menu-toolbar-open-in-new-tab": {
"selectorData": "placesContext_open:newtab",
"strategy": "id",
"groups": ["doNotCache"]
},

"context-menu-open-link-in-new-window": {
"selectorData": "context-openlink",
"strategy": "id",
Expand Down
43 changes: 43 additions & 0 deletions tests/bookmarks_and_history/test_open_bookmark_in_new_tab.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import pytest
from selenium.webdriver import Firefox
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait

from modules.browser_object import Navigation, TabBar
from modules.page_object_generics import GenericPage


@pytest.fixture()
def test_case():
return "134460"


BOOKMARK_URL = "https://www.youtube.com/"
BOOKMARK_TITLE = "YouTube"


def test_open_bookmark_in_new_tab(driver: Firefox):
"""
C134460: Verify that New Tabs can be opened by right clicking and selecting new tab from the bookmarks.
"""

# Instantiate objects
nav = Navigation(driver)
tabs = TabBar(driver)
page = GenericPage(driver, url=BOOKMARK_URL)

# Bookmark the test page via star button
page.open()
nav.add_bookmark_via_star_icon()

# In a new tab, right-click the bookmarked page in the toolbar and select Open in New Tab from the context menu
tabs.new_tab_by_button()
nav.open_bookmark_in_new_tab_via_context_menu(BOOKMARK_TITLE)

# Verify that the test page is opened in a new normal tab
tabs.wait_for_num_tabs(3)
driver.switch_to.window(driver.window_handles[-1])

WebDriverWait(driver, 5).until(EC.url_contains("youtube"))
assert "youtube" in driver.current_url
page.url_contains("youtube")
Loading