Skip to content

Commit 6e2681c

Browse files
committed
Merge main
2 parents 68dde6d + c1627ec commit 6e2681c

19 files changed

+115
-97
lines changed

SELECTOR_INFO.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3043,6 +3043,12 @@ Location: Toolbar
30433043
Path to .json: modules/data/panel_ui.components.json
30443044
```
30453045
```
3046+
Selector name: panel-main-view
3047+
Description: Main body of Panel UI
3048+
Location: See above
3049+
Path to .json: modules/data/panel_ui.components.json
3050+
```
3051+
```
30463052
Selector name: sync-user-button
30473053
Selector Data: toolbarbutton[id='fxa-toolbar-menu-button']
30483054
Description: Account button
@@ -3148,6 +3154,12 @@ Location: Firefox menu
31483154
Path to .json: modules/data/panel_ui.components.json
31493155
```
31503156
```
3157+
Selector name: panel-ui-history-view
3158+
Description: Subview of Panel UI
3159+
Location: See above
3160+
Path to .json: modules/data/panel_ui.components.json
3161+
```
3162+
```
31513163
Selector name: panel-ui-history-recently-closed
31523164
Selector Data: appMenuRecentlyClosedTabs
31533165
Description: Recently closed tabs

modules/browser_object_find_toolbar.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def __init__(self, driver: Firefox, **kwargs):
2121
def open(self) -> BasePage:
2222
"""Use PanelUi to open the Find Toolbar, wait for element to load"""
2323
self.panel_ui.open_panel_menu()
24-
self.panel_ui.select_panel_setting("find-in-page")
24+
self.panel_ui.click_on("find-in-page")
2525
self.wait_for_page_to_load()
2626
return self
2727

modules/browser_object_panel_ui.py

Lines changed: 47 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from time import sleep
12
from typing import List
23

34
from pypom import Region
@@ -44,48 +45,30 @@ def open_panel_menu(self) -> BasePage:
4445
panel_root = self.get_element("panel-ui-button")
4546
panel_root.click()
4647
self.menu = self.Menu(self, root=panel_root)
47-
return self
48-
49-
def select_panel_setting(self, name: str, *labels) -> BasePage:
50-
"""
51-
Selects a panel setting in PanelUi.
52-
53-
...
54-
55-
Parameters
56-
----------
57-
58-
name: str
59-
Name of setting element
60-
labels: *list[str]
61-
Labels to pass to get_element()
62-
"""
63-
self.click_on(name, labels=labels)
48+
sleep(2) # Bug 1974080
6449
return self
6550

6651
def navigate_to_about_addons(self):
6752
"""
6853
On the hamburger menu > More Tools > Customize Toolbar > Manage Themes
6954
"""
70-
self.select_panel_setting("more-tools")
71-
self.select_panel_setting("customize-toolbar")
72-
with self.driver.context(self.driver.CONTEXT_CHROME):
73-
self.get_element("manage-themes").click()
55+
self.click_on("more-tools")
56+
self.click_on("customize-toolbar")
57+
self.click_on("manage-themes")
7458

7559
def navigate_to_customize_toolbar(self):
7660
"""
7761
On the hamburger menu > More Tools > Customize Toolbar
7862
"""
79-
self.select_panel_setting("more-tools")
80-
self.select_panel_setting("customize-toolbar")
63+
self.click_on("more-tools")
64+
self.click_on("customize-toolbar")
8165

8266
def click_sync_sign_in_button(self) -> BasePage:
8367
"""
8468
Click FxA sync button.
8569
"""
86-
with self.driver.context(self.driver.CONTEXT_CHROME):
87-
self.open_panel_menu()
88-
self.select_panel_setting("fxa-sign-in")
70+
self.open_panel_menu()
71+
self.click_on("fxa-sign-in")
8972
return self
9073

9174
def log_out_fxa(self) -> BasePage:
@@ -147,13 +130,13 @@ def open_private_window(self) -> BasePage:
147130
self.get_element("panel-ui-new-private-window").click()
148131
return self
149132

133+
@BasePage.context_chrome
150134
def open_history_menu(self) -> BasePage:
151135
"""
152136
Opens the History menu
153137
"""
154138
self.open_panel_menu()
155-
with self.driver.context(self.driver.CONTEXT_CHROME):
156-
self.get_element("panel-ui-history").click()
139+
self.click_on("panel-ui-history")
157140
return self
158141

159142
def select_clear_history_option(self, option: str) -> BasePage:
@@ -261,3 +244,39 @@ def get_bookmark_tags(self, tags: List[str]) -> List[str]:
261244
)
262245
for tag in tags
263246
]
247+
248+
@BasePage.context_chrome
249+
def clear_recent_history(self, execute=True) -> BasePage:
250+
"""Clears recent history. Case of execute=True may not be complete"""
251+
self.open_panel_menu()
252+
self.get_element("panel-ui-history").click()
253+
254+
self.element_exists("clear-recent-history")
255+
self.element_visible("clear-recent-history")
256+
self.element_clickable("clear-recent-history")
257+
if execute:
258+
self.click("clear_recent_history")
259+
260+
return self
261+
262+
@BasePage.context_chrome
263+
def confirm_history_clear(self):
264+
"""Confirm that the history is empty"""
265+
self.open_history_menu()
266+
self.expect_element_attribute_contains(
267+
"recent-history-content", "value", "(Empty)"
268+
)
269+
270+
@BasePage.context_chrome
271+
def reopen_recently_closed_tabs(self) -> BasePage:
272+
"""Reopen all recently closed tabs"""
273+
self.open_panel_menu()
274+
self.click_on("panel-ui-history")
275+
276+
self.click_on("panel-ui-history-recently-closed")
277+
if self.sys_platform() == "Linux":
278+
sleep(2)
279+
280+
self.click_on("panel-ui-history-recently-closed-reopen-tabs")
281+
282+
return self

modules/browser_object_print_preview.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ class PrintPreview(BasePage):
2121

2222
URL_TEMPLATE = "about:blank"
2323

24+
@BasePage.context_chrome
2425
def open(self) -> BasePage:
2526
"""Use PanelUi to open the Print Preview, wait for element to load"""
2627
panel_ui = PanelUi(self.driver)
27-
with self.driver.context(self.driver.CONTEXT_CHROME):
28-
panel_ui.open_panel_menu()
29-
panel_ui.select_panel_setting("print-option")
30-
self.wait_for_page_to_load()
28+
panel_ui.open_panel_menu()
29+
panel_ui.click_on("print-option")
30+
self.wait_for_page_to_load()
3131
return self
3232

3333
def open_with_key_combo(self) -> BasePage:

modules/data/panel_ui.components.json

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
{
22
"context": "chrome",
3+
"do-not-cache": true,
34
"panel-ui-button": {
45
"selectorData": "PanelUI-menu-button",
56
"strategy": "id",
67
"groups": [
7-
"requiredForPage",
8-
"doNotCache"
8+
"requiredForPage"
99
]
1010
},
1111

12+
"panel-main-view": {
13+
"selectorData": "appMenu-mainView",
14+
"strategy": "id",
15+
"groups": []
16+
},
17+
1218
"sync-user-button": {
1319
"selectorData": "toolbarbutton[id='fxa-toolbar-menu-button']",
1420
"strategy": "css",
@@ -36,9 +42,7 @@
3642
"fxa-sync-label": {
3743
"selectorData": "syncnow-label",
3844
"strategy": "class",
39-
"groups": [
40-
"doNotCache"
41-
]
45+
"groups": []
4246
},
4347

4448
"new-private-window-option": {
@@ -109,6 +113,12 @@
109113
"groups": []
110114
},
111115

116+
"panel-ui-history-view": {
117+
"selectorData": "PanelUI-history",
118+
"strategy": "id",
119+
"groups": []
120+
},
121+
112122
"panel-ui-history-recently-closed": {
113123
"selectorData": "appMenuRecentlyClosedTabs",
114124
"strategy": "id",
@@ -324,4 +334,4 @@
324334
"strategy": "id",
325335
"groups": []
326336
}
327-
}
337+
}

taskcluster/requirements.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -280,9 +280,9 @@ text-unidecode==1.3 \
280280
--hash=sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8 \
281281
--hash=sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93
282282
# via python-slugify
283-
urllib3==2.2.2 \
284-
--hash=sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472 \
285-
--hash=sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168
283+
urllib3==2.5.0 \
284+
--hash=sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760 \
285+
--hash=sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc
286286
# via requests
287287
voluptuous==0.13.1 \
288288
--hash=sha256:4b838b185f5951f2d6e8752b68fcf18bd7a9c26ded8f143f92d6d28f3921a3e6 \

tests/address_bar_and_search/test_search_modes_for_sites.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ def test_case():
1717
return "3028754"
1818

1919

20+
@pytest.mark.unstable(reason="Google re-captcha and manual tagged this test as removed")
2021
@pytest.mark.parametrize("search_engine, prefix, url", SEARCH_MODES)
2122
def test_search_modes_for_sites(
2223
driver: Firefox, search_engine: str, prefix: str, url: str

tests/bookmarks_and_history/test_clear_all_history.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
from modules.browser_object import PanelUi
55
from modules.page_object import GenericPage
6-
from modules.util import BrowserActions
76

87

98
@pytest.fixture()
@@ -20,16 +19,12 @@ def test_clear_all_history(driver: Firefox):
2019
"""
2120
C172045: Verify that the user can Clear all the History
2221
"""
22+
gen_page = GenericPage(driver)
2323
panel_ui = PanelUi(driver)
2424
panel_ui.open()
25-
gen_page = GenericPage(driver)
2625
panel_ui.open_history_menu()
27-
ba = BrowserActions(driver)
2826

2927
panel_ui.select_clear_history_option("Everything")
3028

31-
gen_page.get_element("clear-history-button").click()
32-
ba.switch_to_content_context()
33-
34-
panel_ui.open_history_menu()
35-
panel_ui.element_does_not_exist("bookmark-item")
29+
gen_page.click_on("clear-history-button")
30+
panel_ui.confirm_history_clear()

tests/bookmarks_and_history/test_clear_recent_history_displayed.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,4 @@ def test_clear_recent_history_displayed(driver: Firefox):
1616
panel_ui = PanelUi(driver)
1717
panel_ui.open()
1818

19-
panel_ui.open_panel_menu()
20-
with driver.context(driver.CONTEXT_CHROME):
21-
panel_ui.get_element("panel-ui-history").click()
22-
23-
panel_ui.element_exists("clear-recent-history")
24-
panel_ui.element_visible("clear-recent-history")
25-
panel_ui.element_clickable("clear-recent-history")
19+
panel_ui.clear_recent_history(execute=False)

tests/bookmarks_and_history/test_opened_website_in_new_tab_present_in_toolbar_history.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import pytest
22
from selenium.webdriver import Firefox
33

4-
from modules.browser_object_panel_ui import PanelUi
5-
from modules.browser_object_tabbar import TabBar
4+
from modules.browser_object import PanelUi, TabBar
65
from modules.page_object_generics import GenericPage
76

87

0 commit comments

Comments
 (0)