Skip to content

Commit 99441e8

Browse files
committed
Merge main
2 parents cf69662 + c56fdd2 commit 99441e8

16 files changed

+601
-105
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"url": "http://127.0.0.1:8080/libro_ad.html",
3+
"field_mapping": {
4+
"given_name": "b885db87-1444-4b2b-b89b-0b54d68d996f",
5+
"family_name": "60415c70-d843-4a4b-a8ce-77533b890efe",
6+
"organization": "a74e6520-0204-4ccb-879e-e8537f826bd6",
7+
"address_line_1": "194c240e-caa3-41d1-99a4-3fb46ea5910c",
8+
"postal_code": "a95979b5-b91b-423f-825d-48112c1c27ec",
9+
"telephone": "443642dc-9c22-4601-926e-35377961b5fc"
10+
},
11+
12+
"form_field": "*[data-moz-autofill-inspect-id='{given_name}']",
13+
"fields": [
14+
"b885db87-1444-4b2b-b89b-0b54d68d996f",
15+
"60415c70-d843-4a4b-a8ce-77533b890efe",
16+
"a74e6520-0204-4ccb-879e-e8537f826bd6",
17+
"194c240e-caa3-41d1-99a4-3fb46ea5910c",
18+
"a95979b5-b91b-423f-825d-48112c1c27ec",
19+
"443642dc-9c22-4601-926e-35377961b5fc"
20+
],
21+
"skipped": [
22+
"test_demo_ad_2a_preview_name_org_fields.py",
23+
"test_demo_ad_2b_preview_address_fields.py",
24+
"test_demo_ad_2c_preview_phone_email_fields.py",
25+
"test_demo_ad_3a_autofill_address_fields.py",
26+
"test_demo_ad_3b_autofill_name_org_fields.py",
27+
"test_demo_ad_3c_autofill_phone_email_fields.py"
28+
]
29+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"url": "http://127.0.0.1:8080/libro_cc.html",
3+
"field_mapping": {
4+
"name": "eecd3f4f-88a3-4c6f-9a9d-ed6995e01262",
5+
"card_number": "7dbcf6d8-5b68-40ca-a6a4-fd8ddff7f1ac",
6+
"expiration_date": "aac8243e-eb03-4a84-a213-b25a7c43f7f3",
7+
"cvv": "e0564b06-322a-4320-8c4b-fb134ca2a1ad"
8+
},
9+
"form_field": "*[data-moz-autofill-inspect-id='{name}']",
10+
"fields": [
11+
"eecd3f4f-88a3-4c6f-9a9d-ed6995e01262",
12+
"7dbcf6d8-5b68-40ca-a6a4-fd8ddff7f1ac",
13+
"aac8243e-eb03-4a84-a213-b25a7c43f7f3",
14+
"e0564b06-322a-4320-8c4b-fb134ca2a1ad"
15+
]
16+
}

l10n_CM/region/AT.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"hofer",
88
"holzkern",
99
"kastnerandoehler",
10+
"libro",
1011
"mediamarkt"
1112
],
1213
"tests": [

l10n_CM/run_l10n.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
"lakeland",
6767
"leevalley",
6868
"leroymerlin",
69+
"libro",
6970
"lookfantastic",
7071
"lowes",
7172
"mediamarkt",

l10n_CM/sites/libro/AT/libro_ad.html

Lines changed: 400 additions & 0 deletions
Large diffs are not rendered by default.

l10n_CM/sites/libro/AT/libro_cc.html

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

modules/browser_object_forget_panel.py

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,33 @@
55

66
class ForgetPanel(BasePage):
77
"""
8-
BOM for the forget panel
8+
BOM for the Forget Panel
99
"""
1010

1111
URL_TEMPLATE = ""
1212

13+
def select_timeframe(
14+
self,
15+
timeframe: Literal["forget-five-minutes", "forget-two-hours", "forget-one-day"],
16+
) -> "ForgetPanel":
17+
"""
18+
Select a specific timeframe option in the forget panel.
19+
This will click the option regardless of what's currently selected.
20+
21+
Argument:
22+
timeframe: Timeframe to forget. Restricted options to "forget-five-minutes",
23+
"forget-two-hours", or "forget-one-day"
24+
"""
25+
self.click_on(timeframe)
26+
return self
27+
1328
def forget_history(
1429
self,
1530
timeframe: Literal["forget-five-minutes", "forget-two-hours", "forget-one-day"],
16-
) -> BasePage:
17-
with self.driver.context(self.driver.CONTEXT_CHROME):
18-
self.get_element(timeframe).click()
19-
self.get_element("forget-confirm-button").click()
20-
return self
31+
) -> "ForgetPanel":
32+
"""
33+
Forget browsing history for a given timeframe.
34+
"""
35+
self.select_timeframe(timeframe)
36+
self.click_on("forget-confirm-button")
37+
return self

modules/browser_object_navigation.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,12 @@ def select_element_in_nav(self, element: str) -> BasePage:
342342
self.get_element(element).click()
343343
return self
344344

345+
@BasePage.context_chrome
346+
def open_forget_panel(self) -> BasePage:
347+
"""Open the Forget Panel by clicking the Forget button in the toolbar."""
348+
self.get_element("forget-button").click()
349+
return self
350+
345351
@BasePage.context_chrome
346352
def get_legacy_search_engine_label(self) -> str:
347353
"""Return the displayed engine name from the legacy search bar."""

modules/browser_object_tabbar.py

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,12 +286,33 @@ def close_tab(self, tab: WebElement) -> BasePage:
286286
self.get_element("tab-x-icon", parent_element=tab).click()
287287
return self
288288

289-
def open_web_page_in_new_tab(self, web_page: BasePage, num_tabs: int) -> BasePage:
289+
def open_single_page_in_new_tab(self, page: BasePage, num_tabs: int) -> BasePage:
290290
"""
291291
Opens a new tab, switches the driver context to the new tab, and opens the given webpage
292+
Arguments:
293+
page: The page object to open in the new tab
294+
num_tabs: Expected total number of tabs after opening the new tab (used for waiting)
292295
"""
293296
self.new_tab_by_button()
294297
self.wait_for_num_tabs(num_tabs)
295298
self.driver.switch_to.window(self.driver.window_handles[-1])
296-
web_page.open()
299+
page.open()
300+
return self
301+
302+
def open_multiple_tabs_with_pages(self, pages: list) -> "TabBar":
303+
"""
304+
Opens multiple new tabs and navigates to different pages in each tab.
305+
306+
Argument:
307+
pages: List of page objects or URLs to open in separate tabs
308+
"""
309+
for page in pages:
310+
self.new_tab_by_button()
311+
self.wait_for_num_tabs(len(self.driver.window_handles))
312+
self.driver.switch_to.window(self.driver.window_handles[-1])
313+
314+
if isinstance(page, str):
315+
self.driver.get(page)
316+
else:
317+
page.open()
297318
return self

tests/bookmarks_and_history/test_deleted_page_not_remembered.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,16 @@ def test_deleted_page_not_remembered(driver: Firefox, sys_platform):
1919
"""
2020
C216273: Verify that the deleted page from the Hamburger History submenu is not remembered or autofilled in the URL bar
2121
"""
22-
panel_ui = PanelUi(driver)
23-
panel_ui.open()
22+
# Instantiate objects
23+
panel = PanelUi(driver)
2424
nav = Navigation(driver)
2525
context_menu = ContextMenu(driver)
2626

27-
panel_ui.open_history_menu()
28-
panel_ui.context_click("bookmark-by-title", labels=["Firefox Privacy Notice"])
29-
27+
# Open history menu and right-click on a specific history entry and delete it
28+
panel.open_history_menu()
29+
panel.context_click("bookmark-by-title", labels=["Firefox Privacy Notice"])
3030
context_menu.click_and_hide_menu("context-menu-delete-page")
31-
nav.type_in_awesome_bar("Firefox Privacy Notice")
3231

33-
with driver.context(driver.CONTEXT_CHROME):
34-
nav.expect(lambda _: len(nav.get_elements("results-dropdown")) == 1)
32+
# Type the deleted page name in the URL bar and verify the deleted page is not suggested
33+
nav.type_in_awesome_bar("Firefox Privacy Notice")
34+
nav.expect(lambda _: len(nav.get_elements("results-dropdown")) == 1)

0 commit comments

Comments
 (0)