Files
Aniworld/tests/robot/ui/login.robot
2026-06-21 12:32:44 +02:00

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