🎯 QA Sandbox UI Gym
Interactive UI automation practice environment for learning element locators and test strategies
Overview
The QA Sandbox UI Gym is a frontend-only practice environment designed specifically for QA engineers learning UI automation. It provides real-world UI challenges without requiring API knowledge or backend setup.
What You Can Practice
- Element Locators: Find and interact with elements using various locator strategies (ID, CSS, XPath, data-testid)
- Form Automation: Fill forms, handle validation, and submit data
- Dynamic Content: Work with elements that appear/disappear or change IDs
- Complex Interactions: Handle nested structures, iframes, and shadow DOM
- Wait Strategies: Practice explicit and implicit waits for delayed elements
- Data Tables: Sort, filter, paginate, and validate table data
Authentication
Access the Sandbox using:
- Username:
tester(fixed) - Password: Your personal API key from qaCloud profile
Practice Modules
1. Basic Forms
Practice fundamental form automation skills:
- Text inputs with validation (email, phone, required fields)
- Password fields with visibility toggle
- Checkboxes and radio buttons
- Textarea with character counter
- Form submission and reset
- Inline error messages and success states
2. Advanced Inputs
Master complex input types:
- Masked inputs (phone, currency, credit card)
- Range sliders with dynamic values
- Date and time pickers
- File upload buttons
- Toggle switches
- Color pickers
3. Dropdowns & Select Lists
Handle various dropdown patterns:
- Native HTML select elements
- Custom styled dropdowns
- Searchable dropdowns with filtering
- Multi-select dropdowns
- Autocomplete with API-like delays (700ms debounce)
- Dropdown inside dropdown (nested)
4. Data Tables
Test table manipulation and data validation:
- Sortable columns (ascending/descending)
- Search filter across all columns
- Pagination (10 entries per page)
- Row selection with bulk actions
- Expandable rows with nested data
- Dynamic table data (50 sample records)
5. Modals & Dialogs
Practice overlay interactions:
- Basic modal windows
- Confirmation dialogs with Yes/No actions
- Form modals with validation
- Tooltips on hover
- Popovers with click triggers
- Toast notifications (auto-dismiss after 3s)
6. Locator Practice
Advanced locator challenges:
- Elements inside iframes
- Delayed elements (appear after 2s)
- Dynamic IDs that change on page load
- Nested structures (5 levels deep)
- Shadow DOM elements
- Elements with similar attributes (siblings)
Test Strategies & Tips
Best Practice: Use data-testid Attributes
Why: All elements include data-testid attributes for reliable, maintainable locators
Example:
- Selenium:
driver.findElement(By.cssSelector('[data-testid="submit-btn"]')) - Cypress:
cy.get('[data-testid="submit-btn"]') - Playwright:
page.locator('[data-testid="submit-btn"]')
Strategy: Wait for Dynamic Content
Challenge: Some elements appear after delays (2 seconds)
Solution:
- Use explicit waits:
WebDriverWait(driver, 10).until(EC.presence_of_element_located()) - Avoid hard-coded
sleep()- use smart waits - Check element visibility:
wait.until(EC.visibility_of_element_located())
Strategy: Handle Iframes
Challenge: Elements inside iframes require context switching
Solution:
- Switch to iframe:
driver.switch_to.frame('iframe-id') - Interact with elements inside iframe
- Switch back:
driver.switch_to.default_content()
Strategy: Verify Form Validation
Objective: Test both positive and negative scenarios
Test Cases:
- Submit empty form → verify error messages appear
- Enter invalid email → verify format validation
- Fill valid data → verify success message
- Check character counter updates in real-time
Strategy: Table Data Validation
Objective: Verify table sorting and filtering work correctly
Test Cases:
- Click column header → verify rows re-order
- Enter search term → verify filtered results
- Change page → verify pagination works
- Select multiple rows → verify bulk action buttons enable