Skip to content

Commit a4070b6

Browse files
Hani YacoubHani Yacoub
authored andcommitted
more refactor
1 parent 565deb2 commit a4070b6

18 files changed

+147
-112
lines changed

tests/password_manager/test_about_logins_navigation_from_context_menu.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
from modules.page_object import LoginAutofill
66

77

8+
ABOUT_LOGINS_PAGE_TITLE = "Passwords"
9+
10+
811
@pytest.fixture()
912
def test_case():
1013
return "2241087"
1114

1215

13-
ABOUT_LOGINS_PAGE_TITLE = "Passwords"
14-
15-
1616
@pytest.mark.ci
1717
def test_about_logins_navigation_from_login_form_context_menu(driver: Firefox):
1818
"""

tests/password_manager/test_about_logins_navigation_from_hamburger_menu.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
import pytest
22
from selenium.webdriver import Firefox
3-
43
from modules.browser_object import PanelUi, TabBar
54

65

6+
ABOUT_LOGINS_PAGE_TITLE = "Passwords"
7+
8+
79
@pytest.fixture()
810
def test_case():
911
return "2241082"
1012

1113

12-
ABOUT_LOGINS_PAGE_TITLE = "Passwords"
13-
14-
1514
def test_about_logins_navigation_from_password_hamburger_menu(driver: Firefox):
1615
"""
1716
C2241082 - Verify that clicking the Password option in Hamburger Menu opens about:logins page in a new tab

tests/password_manager/test_add_password_non_ascii_chars.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,16 @@
44
from modules.page_object import AboutLogins
55

66

7+
WEBSITE_ADDRESS = "mozilla.org"
8+
USERNAME = "£$µ→“"
9+
PASSWORD = "£$µ→“"
10+
11+
712
@pytest.fixture()
813
def test_case():
914
return "2241113"
1015

1116

12-
WEBSITE_ADDRESS = "mozilla.org"
13-
14-
1517
def test_add_password_non_ascii_chars(driver: Firefox):
1618
"""
1719
C2241113 Add password - non-ascii characters
@@ -26,14 +28,13 @@ def test_add_password_non_ascii_chars(driver: Firefox):
2628
# Complete all the fields with valid data and click the "Save" button.
2729
about_logins.create_new_login(
2830
{
29-
"origin": "mozilla.org",
30-
"username": "£$µ→“",
31-
"password": "£$µ→“",
31+
"origin": WEBSITE_ADDRESS,
32+
"username": USERNAME,
33+
"password": PASSWORD,
3234
}
3335
)
3436

3537
# Check password added in the listbox
36-
about_logins.get_element("login-list-item")
3738
logins = about_logins.get_elements("login-list-item")
3839
mozilla_login = next(
3940
login for login in logins if login.get_attribute("title") == WEBSITE_ADDRESS

tests/password_manager/test_add_password_save_valid_data.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,16 @@
55
from modules.page_object import AboutLogins
66

77

8+
WEBSITE_ADDRESS = "mozilla.org"
9+
USERNAME = "username"
10+
PASSWORD = "password"
11+
12+
813
@pytest.fixture()
914
def test_case():
1015
return "2241112"
1116

1217

13-
WEBSITE_ADDRESS = "mozilla.org"
14-
15-
1618
def test_add_password_save_valid_data(driver: Firefox):
1719
"""
1820
C2241112 Verify that a password can be added and saved
@@ -27,14 +29,13 @@ def test_add_password_save_valid_data(driver: Firefox):
2729
# Complete all the fields with valid data and click the "Save" button.
2830
about_logins.create_new_login(
2931
{
30-
"origin": "mozilla.org",
31-
"username": "username",
32-
"password": "password",
32+
"origin": WEBSITE_ADDRESS,
33+
"username": USERNAME,
34+
"password": PASSWORD,
3335
}
3436
)
3537

3638
# Check password added in the listbox
37-
about_logins.get_element("login-list-item")
3839
logins = about_logins.get_elements("login-list-item")
3940
mozilla_login = next(
4041
login for login in logins if login.get_attribute("title") == WEBSITE_ADDRESS

tests/password_manager/test_add_primary_password.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
from modules.util import BrowserActions
66

77

8+
PRIMARY_PASSWORD = "securePassword1"
9+
ALERT_MESSAGE = "Primary Password successfully changed."
10+
11+
812
@pytest.fixture()
913
def test_case():
1014
return "2245178"
@@ -15,10 +19,6 @@ def hard_quit():
1519
return True
1620

1721

18-
PRIMARY_PASSWORD = "securePassword1"
19-
ALERT_MESSAGE = "Primary Password successfully changed."
20-
21-
2222
def test_add_primary_password(driver: Firefox):
2323
"""
2424
C2245178: Verify that a primary password can be added in about:preferences#privacy

tests/password_manager/test_auto_saved_generated_password_context_menu.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import pytest
22
from selenium.webdriver import Firefox
3-
43
from modules.browser_object import AutofillPopup, ContextMenu, Navigation, TabBar
54
from modules.page_object import AboutLogins, LoginAutofill
65

76

7+
UPDATE_DOORHANGER_TEXT = "Update password for mozilla.github.io?"
8+
TEST_WEBSITE = "https://mozilla.github.io/"
9+
10+
811
@pytest.fixture()
912
def test_case():
1013
return "2248176"
@@ -16,9 +19,6 @@ def add_to_prefs_list():
1619
return [("signon.rememberSignons", True)]
1720

1821

19-
UPDATE_DOORHANGER_TEXT = "Update password for mozilla.github.io?"
20-
21-
2222
def test_auto_saved_generated_password_context_menu(driver: Firefox):
2323
"""
2424
C2248176 - Securely Generated Password is auto-saved when generated from password field context menu
@@ -40,8 +40,6 @@ def test_auto_saved_generated_password_context_menu(driver: Firefox):
4040
# is displayed
4141
with driver.context(driver.CONTEXT_CHROME):
4242
login_autofill.get_element("generated-securely-password").click()
43-
login_autofill.click_on("generated-securely-password")
44-
nav.element_visible("password-notification-key")
4543
nav.click_on("password-notification-key")
4644
update_doorhanger = autofill_popup_panel.get_element(
4745
"password-update-doorhanger"
@@ -54,7 +52,7 @@ def test_auto_saved_generated_password_context_menu(driver: Firefox):
5452

5553
# Verify the website address saves the correct value
5654
about_logins.expect_element_attribute_contains(
57-
"website-address", "href", "https://mozilla.github.io/"
55+
"website-address", "href", TEST_WEBSITE
5856
)
5957

6058
# Verify the username field has no value

tests/password_manager/test_autocomplete_dropdown_is_toggled_for_focused_login_fields_on_page_load.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@
77
from modules.page_object_generics import GenericPage
88

99

10+
BSKY_URL = "https://bsky.app/"
11+
USERNAME = "username1"
12+
PASSWORD = "password1"
13+
USERNAME2 = "username2"
14+
PASSWORD2 = "password2"
15+
16+
1017
@pytest.fixture()
1118
def test_case():
1219
return "2240907"
@@ -18,9 +25,6 @@ def add_to_prefs_list():
1825
return [("signon.rememberSignons", True)]
1926

2027

21-
BSKY_URL = "https://bsky.app/"
22-
23-
2428
def test_autocomplete_dropdown_is_toggled_for_focused_login_fields_on_page_load(
2529
driver: Firefox,
2630
):
@@ -43,17 +47,17 @@ def test_autocomplete_dropdown_is_toggled_for_focused_login_fields_on_page_load(
4347
about_logins.click_add_login_button()
4448
about_logins.create_new_login(
4549
{
46-
"origin": "https://bsky.app/",
47-
"username": "username1",
48-
"password": "password1",
50+
"origin": BSKY_URL,
51+
"username": USERNAME,
52+
"password": PASSWORD,
4953
}
5054
)
5155
about_logins.click_add_login_button()
5256
about_logins.create_new_login(
5357
{
54-
"origin": "https://bsky.app/",
55-
"username": "username2",
56-
"password": "password2",
58+
"origin": BSKY_URL,
59+
"username": USERNAME2,
60+
"password": PASSWORD2,
5761
}
5862
)
5963

@@ -63,4 +67,4 @@ def test_autocomplete_dropdown_is_toggled_for_focused_login_fields_on_page_load(
6367
generic_page.get_element("bsky-signin-button").click()
6468
with driver.context(driver.CONTEXT_CHROME):
6569
username_element = login_autofill.get_element("bsky-credentials")
66-
assert username_element.get_attribute("ac-value") == "username1"
70+
assert username_element.get_attribute("ac-value") == USERNAME

tests/password_manager/test_can_view_password_when_PP_enabled.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@
77
from modules.util import BrowserActions
88

99

10+
URL_TO_TEST = "https://mozilla.github.io/"
11+
USERNAME = "username"
12+
PASSWORD = "password"
13+
PRIMARY_PASSWORD = "securePassword1"
14+
15+
1016
@pytest.fixture()
1117
def test_case():
1218
return "2264688"
@@ -28,9 +34,9 @@ def test_password_can_be_shown(driver: Firefox):
2834
# Complete all the fields with valid data and click the "Save" button.
2935
about_logins.create_new_login(
3036
{
31-
"origin": "mozilla.org",
32-
"username": "username",
33-
"password": "password",
37+
"origin": URL_TO_TEST,
38+
"username": USERNAME,
39+
"password": PASSWORD,
3440
}
3541
)
3642

@@ -46,8 +52,8 @@ def test_password_can_be_shown(driver: Firefox):
4652
)
4753

4854
# Primary password can be changed
49-
about_prefs.get_element("enter-new-password").send_keys("securePassword1")
50-
about_prefs.get_element("reenter-new-password").send_keys("securePassword1")
55+
about_prefs.get_element("enter-new-password").send_keys(PRIMARY_PASSWORD)
56+
about_prefs.get_element("reenter-new-password").send_keys(PRIMARY_PASSWORD)
5157
about_prefs.click_on("submit-password")
5258

5359
# Check that the pop-up appears
@@ -56,8 +62,7 @@ def test_password_can_be_shown(driver: Firefox):
5662
alert.accept()
5763

5864
about_logins.open()
59-
show_password_button = about_logins.get_element("show-password-checkbox")
60-
show_password_button.click()
65+
about_logins.click_on("show-password-checkbox")
6166

6267
with driver.context(driver.CONTEXT_CHROME):
6368
driver.switch_to.window(driver.window_handles[-1])
@@ -68,7 +73,7 @@ def test_password_can_be_shown(driver: Firefox):
6873
primary_password_input_field = about_logins.get_element(
6974
"primary-password-dialog-input-field"
7075
)
71-
primary_password_input_field.send_keys("securePassword1")
76+
primary_password_input_field.send_keys(PRIMARY_PASSWORD)
7277
primary_password_input_field.send_keys(Keys.ENTER)
7378

7479
# Verify that the password is unmasked by checking that the type is now text.

tests/password_manager/test_changes_made_in_edit_mode_are_saved.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
import pytest
22
from selenium.webdriver import Firefox
3-
43
from modules.page_object_about_pages import AboutLogins
54

65

6+
URL_TO_TEST = "https://mozilla.github.io/"
7+
USERNAME = "username"
8+
PASSWORD = "password"
9+
NEW_USERNAME = "Testuser"
10+
ADD_TO_PASSWORD = "123"
11+
NEW_PASSWORD = "password123"
12+
13+
714
@pytest.fixture()
815
def test_case():
916
return "2241121"
@@ -21,30 +28,30 @@ def test_changes_made_in_edit_mode_are_saved(driver: Firefox):
2128
about_logins.click_add_login_button()
2229
about_logins.create_new_login(
2330
{
24-
"origin": "https://mozilla.github.io/",
25-
"username": "username",
26-
"password": "password",
31+
"origin": URL_TO_TEST,
32+
"username": USERNAME,
33+
"password": PASSWORD,
2734
}
2835
)
2936
# Click the "Edit" button
3037
about_logins.click_on("edit-login")
3138

3239
# Change username and the password
33-
about_logins.get_element("about-logins-page-username-field").send_keys("Testuser")
34-
about_logins.get_element("about-logins-page-password-hidden").send_keys("123")
40+
about_logins.get_element("about-logins-page-username-field").send_keys(NEW_USERNAME)
41+
about_logins.get_element("about-logins-page-password-hidden").send_keys(ADD_TO_PASSWORD)
3542

3643
# Click the "Save" button
3744
about_logins.click_on("save-edited-login")
3845

3946
# Verify the username field is changed
4047
about_logins.expect_element_attribute_contains(
41-
"about-logins-page-username-field", "value", "Testuser"
48+
"about-logins-page-username-field", "value", NEW_USERNAME
4249
)
4350

4451
# Click the "Show Password" button
4552
about_logins.click_on("show-password-checkbox")
4653

4754
# Verify the newly entered password is correctly displayed
4855
about_logins.expect_element_attribute_contains(
49-
"about-logins-page-password-revealed", "value", "password123"
56+
"about-logins-page-password-revealed", "value", NEW_PASSWORD
5057
)

tests/password_manager/test_delete_login.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
from modules.page_object_autofill import LoginAutofill
55

66

7+
PASSWORD_COUNT = "6 passwords"
8+
PASSWORD_COUNT_DECREASED = "5 passwords"
9+
10+
711
@pytest.fixture()
812
def test_case():
913
return "2241120"
@@ -25,14 +29,14 @@ def test_delete_login(driver_and_saved_logins):
2529
about_logins.open()
2630
password_count = about_logins.get_element("password-count")
2731
login_autofill.wait.until(
28-
lambda _: password_count.get_attribute("innerText") == "6 passwords"
32+
lambda _: password_count.get_attribute("innerText") == PASSWORD_COUNT
2933
)
3034

3135
# Delete the last saved login
32-
about_logins.get_element("remove-login-button-main-page").click()
33-
about_logins.get_element("remove-login-button-confirmation-dialog").click()
36+
about_logins.click_on("remove-login-button-main-page")
37+
about_logins.click_on("remove-login-button-confirmation-dialog")
3438

3539
# Verify that the saved passwords count decreases by 1
3640
login_autofill.wait.until(
37-
lambda _: password_count.get_attribute("innerText") == "5 passwords"
41+
lambda _: password_count.get_attribute("innerText") == PASSWORD_COUNT_DECREASED
3842
)

0 commit comments

Comments
 (0)