Skip to content

Commit b844c66

Browse files
Hani YacoubHani Yacoub
authored andcommitted
Passwors manager first batch refactor
1 parent 1971f95 commit b844c66

20 files changed

+67
-42
lines changed

modules/browser_object_panel_ui.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ def loaded(self):
3939
]
4040
return all([EC.presence_of_element_located(el) for el in targeted])
4141

42+
@BasePage.context_chrome
4243
def open_panel_menu(self) -> BasePage:
4344
"""
4445
Opens the PanelUi menu.
4546
"""
46-
with self.driver.context(self.driver.CONTEXT_CHROME):
47-
panel_root = self.get_element("panel-ui-button")
48-
panel_root.click()
49-
self.menu = self.Menu(self, root=panel_root)
47+
panel_root = self.get_element("panel-ui-button")
48+
panel_root.click()
49+
self.menu = self.Menu(self, root=panel_root)
5050
return self
5151

5252
def select_panel_setting(self, name: str, *labels) -> BasePage:
@@ -181,13 +181,13 @@ def get_all_history(self) -> List[WebElement]:
181181
history_items = self.get_elements("bookmark-item")
182182
return history_items
183183

184+
@BasePage.context_chrome
184185
def redirect_to_about_logins_page(self) -> BasePage:
185186
"""
186187
Opens the about:logins page by clicking the Password option in Hamburger Menu"
187188
"""
188189
self.open_panel_menu()
189-
with self.driver.context(self.driver.CONTEXT_CHROME):
190-
self.get_element("password-button").click()
190+
self.get_element("password-button").click()
191191
return self
192192

193193
# Bookmarks section

modules/page_object_about_pages.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
from modules.page_base import BasePage
1414
from modules.util import BrowserActions
15+
from selenium.webdriver import Firefox
1516

1617

1718
class AboutConfig(BasePage):
@@ -133,6 +134,10 @@ class AboutLogins(BasePage):
133134

134135
URL_TEMPLATE = "about:logins"
135136

137+
def __init__(self, driver: Firefox, **kwargs):
138+
super().__init__(driver, **kwargs)
139+
self.ba = BrowserActions(self.driver)
140+
136141
def click_add_login_button(self) -> Page:
137142
"""Click the Add Login button"""
138143
self.get_element("create-login-button").click()
@@ -144,11 +149,10 @@ def create_new_login(self, form_info: dict) -> Page:
144149
Given a dict with keys that match the valid item types in the
145150
new login dialog, create a new login with those values through UI.
146151
"""
147-
ba = BrowserActions(self.driver)
148152
try:
149153
for item_type, value in form_info.items():
150154
logging.info(f"Filling {item_type} with {value}")
151-
ba.clear_and_fill(
155+
self.ba.clear_and_fill(
152156
self.get_element("login-item-type", labels=[item_type]), value
153157
)
154158
logging.info("Clicking submit...")

tests/password_manager/test_about_logins_navigation_from_context_menu.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def test_about_logins_navigation_from_login_form_context_menu(driver: Firefox):
1616
C2241087 - Verify that right-clicking the Username field in a login form and then the Manage Passwords option
1717
from context menu opens about:logins page in a new tab
1818
"""
19-
19+
# Instantiate objects
2020
context_menu = ContextMenu(driver)
2121
tabs = TabBar(driver)
2222
login = LoginAutofill(driver).open()

tests/password_manager/test_about_logins_navigation_from_hamburger_menu.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def test_about_logins_navigation_from_password_hamburger_menu(driver: Firefox):
1313
"""
1414
C2241082 - Verify that clicking the Password option in Hamburger Menu opens about:logins page in a new tab
1515
"""
16-
16+
# Instantiate objects
1717
panel_ui = PanelUi(driver)
1818
tabs = TabBar(driver)
1919

tests/password_manager/test_about_logins_search_username.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,11 @@ def test_about_logins_search_username(driver_and_saved_logins):
1616
"""
1717
# Initializing objects
1818
(driver, usernames, logins) = driver_and_saved_logins
19-
about_logins = AboutLogins(driver).open()
19+
about_logins = AboutLogins(driver)
2020
ba = BrowserActions(driver)
2121

22-
# Search for a username with 2 results
22+
# Open about:logins and search for a username with 2 results
23+
about_logins.open()
2324
ba.clear_and_fill(about_logins.get_element("login-filter-input"), usernames[-1])
2425

2526
# Check that only the correct 2 results are shown

tests/password_manager/test_about_logins_search_website.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,11 @@ def test_about_logins_search_website(origins, driver_and_saved_logins):
1616
"""
1717
# Initializing objects
1818
(driver, usernames, logins) = driver_and_saved_logins
19-
about_logins = AboutLogins(driver).open()
19+
about_logins = AboutLogins(driver)
2020
ba = BrowserActions(driver)
2121

22-
# Search for a website
22+
# Open about:logins and search for a website
23+
about_logins.open()
2324
ba.clear_and_fill(about_logins.get_element("login-filter-input"), origins[1])
2425

2526
# Check that only the correct 1 result is shown

tests/password_manager/test_add_password_non_ascii_chars.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@ def test_add_password_non_ascii_chars(driver: Firefox):
1313
"""
1414
C2241113 Add password - non-ascii characters
1515
"""
16-
# instantiate object
17-
about_logins = AboutLogins(driver).open()
16+
# Instantiate object
17+
about_logins = AboutLogins(driver)
1818

19-
# Click on the "Add password" button
19+
# Open about:logins and click on the "Add password" button
20+
about_logins.open()
2021
about_logins.click_add_login_button()
2122

2223
# Complete all the fields with valid data and click the "Save" button.

tests/password_manager/test_add_password_save_valid_data.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ def test_add_password_save_valid_data(driver: Firefox):
1515
C2241112 Verify that a password can be added and saved
1616
"""
1717
# instantiate object
18-
about_logins = AboutLogins(driver).open()
18+
about_logins = AboutLogins(driver)
1919

20-
# Click on the "Add password" button
20+
# Open about:logins and click on the "Add password" button
21+
about_logins.open()
2122
about_logins.click_add_login_button()
2223

2324
# Complete all the fields with valid data and click the "Save" button.

tests/password_manager/test_add_primary_password.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,19 @@ def hard_quit():
1515
return True
1616

1717

18+
PRIMARY_PASSWORD = "securePassword1"
19+
20+
1821
def test_add_primary_password(driver: Firefox):
1922
"""
2023
C2245178: Verify that a primary password can be added in about:preferences#privacy
2124
"""
2225
# Instantiate objects
23-
about_prefs = AboutPrefs(driver, category="privacy").open()
26+
about_prefs = AboutPrefs(driver, category="privacy")
2427
ba = BrowserActions(driver)
2528

2629
# Select the "Use a primary password" check box to trigger the "Change Primary Password" window
30+
about_prefs.open()
2731
about_prefs.click_on("use-primary-password")
2832
primary_pw_popup = about_prefs.get_element("browser-popup")
2933
ba.switch_to_iframe_context(primary_pw_popup)
@@ -32,8 +36,8 @@ def test_add_primary_password(driver: Firefox):
3236
about_prefs.element_attribute_contains("current-password", "disabled", "true")
3337

3438
# Primary password can be changed
35-
about_prefs.get_element("enter-new-password").send_keys("securePassword1")
36-
about_prefs.get_element("reenter-new-password").send_keys("securePassword1")
39+
about_prefs.get_element("enter-new-password").send_keys(PRIMARY_PASSWORD)
40+
about_prefs.get_element("reenter-new-password").send_keys(PRIMARY_PASSWORD)
3741
about_prefs.click_on("submit-password")
3842

3943
# Check that the pop-up appears

tests/password_manager/test_auto_saved_generated_password_context_menu.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,16 @@ def test_auto_saved_generated_password_context_menu(driver: Firefox):
2020
"""
2121
C2248176 - Securely Generated Password is auto-saved when generated from password field context menu
2222
"""
23-
23+
# Instantiate objects
2424
context_menu = ContextMenu(driver)
2525
tabs = TabBar(driver)
26-
login_autofill = LoginAutofill(driver).open()
26+
login_autofill = LoginAutofill(driver)
2727
nav = Navigation(driver)
2828
about_logins = AboutLogins(driver)
2929
autofill_popup_panel = AutofillPopup(driver)
3030

31-
# Select "Suggest Strong Password..." from password field context menu
31+
# Open login autofill test page and select "Suggest Strong Password..." from password field context menu
32+
login_autofill.open()
3233
password_field = login_autofill.get_element("password-login-field")
3334
login_autofill.context_click(password_field)
3435
context_menu.click_and_hide_menu("context-menu-suggest-strong-password")

0 commit comments

Comments
 (0)