86 lines
3.7 KiB
Plaintext
86 lines
3.7 KiB
Plaintext
*** Settings ***
|
|
Documentation Login UI tests for Aniworld.
|
|
... Covers login page load, valid/invalid login, rate limit UI, password visibility, and logout.
|
|
|
|
Resource ${CURDIR}/../resources/common.resource
|
|
Resource ${CURDIR}/../resources/ui_keywords.resource
|
|
|
|
Test Setup Run Keywords
|
|
... Create Anonymous Session
|
|
... AND Setup Master Password
|
|
|
|
Test Teardown Close Browser
|
|
|
|
*** Test Cases ***
|
|
# ---------------------------------------------------------------------------
|
|
# Login Page Load
|
|
# ---------------------------------------------------------------------------
|
|
Login Page Loads
|
|
[Documentation] Verify the login page loads with all form elements.
|
|
Open Browser To Page /login
|
|
Page Title Should Contain Login
|
|
Element Should Be Visible id=password-input
|
|
Element Should Be Visible id=login-submit-btn
|
|
Element Should Be Visible id=password-toggle
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Valid Login
|
|
# ---------------------------------------------------------------------------
|
|
Login With Valid Password
|
|
[Documentation] Log in with the correct password and verify redirect to dashboard.
|
|
Open Browser To Page /login
|
|
Perform Login ${SETUP_PASSWORD}
|
|
Page Title Should Contain AniWorld
|
|
Element Should Be Visible id=search-input
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Invalid Login
|
|
# ---------------------------------------------------------------------------
|
|
Login With Invalid Password
|
|
[Documentation] Log in with an incorrect password and verify error message.
|
|
Open Browser To Page /login
|
|
Fill Text id=password-input WrongPass123!
|
|
Click id=login-submit-btn
|
|
Element Should Be Visible id=login-error
|
|
Element Text Should Contain id=login-error invalid
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Rate Limit UI
|
|
# ---------------------------------------------------------------------------
|
|
Login Rate Limit UI
|
|
[Documentation] Submit multiple failed logins and verify lockout message appears.
|
|
Open Browser To Page /login
|
|
FOR ${i} IN RANGE 6
|
|
Fill Text id=password-input WrongPass123!
|
|
Click id=login-submit-btn
|
|
Wait For Elements State id=login-error visible timeout=3s
|
|
END
|
|
Element Text Should Contain id=login-error lockout
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Password Visibility Toggle
|
|
# ---------------------------------------------------------------------------
|
|
Password Visibility Toggle
|
|
[Documentation] Click the eye icon and verify the password field type toggles.
|
|
Open Browser To Page /login
|
|
Fill Text id=password-input ${SETUP_PASSWORD}
|
|
${type_before}= Get Attribute id=password-input type
|
|
Should Be Equal As Strings ${type_before} password
|
|
Click id=password-toggle
|
|
${type_after}= Get Attribute id=password-input type
|
|
Should Be Equal As Strings ${type_after} text
|
|
Click id=password-toggle
|
|
${type_final}= Get Attribute id=password-input type
|
|
Should Be Equal As Strings ${type_final} password
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Logout
|
|
# ---------------------------------------------------------------------------
|
|
Logout
|
|
[Documentation] Log in then log out and verify redirect to login page.
|
|
Open Browser To Page /login
|
|
Perform Login ${SETUP_PASSWORD}
|
|
Perform Logout
|
|
Page Title Should Contain Login
|
|
Element Should Be Visible id=password-input
|