Skip to content

Commit 3003a49

Browse files
Merge branch 'main' into philimon/fix_test_geolocation_w3c
2 parents 0a8a27c + c585c44 commit 3003a49

19 files changed

+129
-99
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+
}

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

tests/form_autofill/test_form_autofill_suggestions.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ def test_form_autofill_suggestions(
4040

4141
# verify form data in reverse (newer options are at the top)
4242
for idx in range(1, 3):
43+
autofill_popup.ensure_autofill_dropdown_visible()
4344
autofill_popup.select_nth_element(idx)
4445
credit_card_autofill.verify_form_data(sample_data[idx - 1])
4546
credit_card_autofill.click_on("form-field", labels=["cc-name"])

0 commit comments

Comments
 (0)