Login Suites
Login suites handle authentication once and share the logged-in state with other test suites.
Why Login Suites?
Without login suites:
- Every test repeats login steps
- Tests are slower
- More points of failure
- Duplicate code
With login suites:
- Login happens once
- Cookies/session are saved
- Other tests start authenticated
- Faster, more reliable tests
Creating a Login Suite
Step 1: Create the Suite
- Create a new test suite
- Name it something like "Login" or "Authentication"
Step 2: Mark as Login Suite
- Open suite settings
- Enable Login Suite
- Save
Step 3: Add Login Test
Create a test with steps like:
1. Navigate to the login page
2. Enter email in the email field
Data: {{run.email}}
3. Enter password in the password field
4. Click the "Sign In" button
5. Wait until dashboard is visible
Step 4: Configure Auth Settings
In project or suite settings, add:
- Email - The test account email
- Password - The test account password
Use dedicated test accounts, not personal accounts. Test accounts should be safe to use repeatedly.
How It Works
Execution Order
1. Login Suite runs first
- Performs login
- Saves cookies and localStorage
2. Regular Suites run next
- Cookies are pre-loaded
- Tests start logged in
3. Cleanup Suite runs last (if any)
- Cleans up test data
What Gets Saved
After successful login suite execution:
- Cookies - Session cookies, auth tokens
- localStorage - Client-side storage
- sessionStorage - Session data
This "storage state" is automatically applied to subsequent suites.
Configuration
Suite-Level Auth
Set credentials in suite settings:
Email: testuser@yourapp.com
Password: TestPassword123!
Project-Level Auth
Set default credentials in project settings. Suites inherit these unless overridden.
Using Dynamic Credentials
For tests that create new users:
Login Test Step 1: Enter email
Data: {{run.email}}
Login Test Step 2: Enter password
Multiple Login Suites
You can have multiple login suites for different user types:
Admin Login Suite:
- Login as admin user
- Admin-specific cookies saved
Customer Login Suite:
- Login as customer
- Customer cookies saved
When you have multiple login suites, each will run and overwrite the storage state. Usually you want just one login suite.
Best Practices
Keep Login Suites Simple
Only include login-related steps:
Good:
1. Navigate to login page
2. Enter email
3. Enter password
4. Click login
5. Verify logged in
Too much:
1. Navigate to login page
2. Enter email
3. Enter password
4. Click login
5. Verify logged in
6. Update profile (not login-related)
Add Verification Step
Always verify login succeeded:
Step 5: Wait until user menu is visible
Assertion: User is logged in
Use Dedicated Test Accounts
- Create accounts specifically for testing
- Ensure they have appropriate permissions
- Do not use production data
Handle Auth Failures
If login fails, all dependent tests will fail. Make your login suite robust:
- Use explicit wait conditions
- Verify each step succeeds
- Add clear assertions
Troubleshooting
Tests Still Prompt for Login
- Verify login suite is marked as "Login Suite"
- Check login suite runs successfully
- Ensure cookies are actually set
- Check if cookies have expired
Login Suite Keeps Failing
- Verify credentials are correct
- Check if account exists and is active
- Look for captcha or rate limiting
- Check for 2FA requirements
Cookies Not Persisting
- Some sites clear cookies on logout
- Check cookie expiration times
- Verify no steps inadvertently log out
Different Auth for Different Tests
Create separate projects or use suite-level credential overrides.
Example: Complete Login Suite
Suite: Authentication (Login Suite: enabled)
Test: User Login
Steps:
1. Navigate to the login page
Wait Until: Login form is visible
2. Enter email in the email field
Data: {{run.email}}
3. Enter password in the password field
4. Click the "Sign In" button
Wait Until: Dashboard page loads
Assertions:
- User avatar is visible in header
- Welcome message shows user's name