🔥 Live 2,847 QA engineers learning right now — Start Free Automation Roadmap →
🧪 QA Automation Practice · Updated 2025

Master Automation Testing
Fresher → QA Lead

31+ exercises across 10 topics -- step-by-step instructions, starter code, hints & timers. Structured by career level so you always know what to practise next.

31+
Exercises
10+
Topics
5
Career Levels
3
Difficulty Bands
Progress
0% · 0 / 0 done
0 Easy 0 Med 0 Hard
🏆 Daily Challenge Saturday, September 5
SQL for QA JDBC -- Database Assertions in Java
Hard ⏱ 40 min
Showing 31 exercises
Exercise
Topic
Level
Diff
Time
Freq
Selenium (8)
Launch Browser and Open URL
Set up ChromeDriver and launch Chrome browser, then navigate to a URL.
WebDriver ChromeDriver Setup
Selenium
Fresher
Easy
⏱ 15m
🔥 Hot
Find Element by ID, Name, ClassName
Locate elements using the 3 simplest locator strategies: ID, Name, ClassName.
Locators findElement
Selenium
Fresher
Easy
⏱ 15m
🔥 Hot
XPath Strategies -- Absolute, Relative, Dynamic
Master all key XPath strategies for locating elements reliably.
XPath Locators
Selenium
Fresher
Easy
⏱ 20m
🔥 Hot
Explicit Wait -- WebDriverWait & ExpectedConditions
Replace all Thread.sleep() calls with smart explicit waits.
Wait WebDriverWait ExpectedConditions
Selenium
Junior
Medium
⏱ 25m
🔥 Hot
Handle Dropdowns -- Select Class
Interact with HTML <select> dropdowns using the Select utility class.
Select Dropdown
Selenium
Fresher
Easy
⏱ 15m
📈 High
Handle Alerts, Confirms and Prompts
Switch to and interact with browser-native JavaScript alert dialogs.
Alert switchTo JavaScript
Selenium
Junior
Medium
⏱ 20m
📈 High
Page Object Model -- Build LoginPage & HomePage
Refactor raw test code into a proper Page Object Model structure.
POM PageObject Design Pattern
Selenium
Junior
Medium
⏱ 35m
🔥 Hot
Cross-Browser DriverFactory
Create a factory that returns any browser driver from a config parameter.
DriverFactory CrossBrowser ChromeOptions
Selenium
Senior
Hard
⏱ 40m
📈 High
TestNG (5)
TestNG Lifecycle -- @Before/@After Annotations
Understand and implement the complete TestNG execution lifecycle.
@BeforeMethod @AfterMethod Lifecycle
TestNG
Fresher
Easy
⏱ 20m
🔥 Hot
@DataProvider -- Data-Driven Login Test
Run the same test with multiple data sets using @DataProvider.
@DataProvider Parameterization Data-Driven
TestNG
Junior
Medium
⏱ 25m
🔥 Hot
Custom ITestListener -- Screenshot on Failure
Implement a TestNG listener that auto-captures screenshots when tests fail.
ITestListener Listener Screenshot Reporting
TestNG
Mid
Hard
⏱ 40m
📈 High
IRetryAnalyzer -- Auto-Retry Flaky Tests
Automatically retry failed tests up to N times to handle flaky test scenarios.
IRetryAnalyzer Retry Flaky
TestNG
Mid
Hard
⏱ 30m
📊 Med
Parallel Execution with ThreadLocal Driver
Run tests in parallel without browser conflicts using ThreadLocal.
Parallel ThreadLocal WebDriver Concurrency
TestNG
Senior
Hard
⏱ 45m
📈 High
Cypress (3)
First Cypress Test -- Setup and Visit
Install Cypress, write your first test, and understand the test runner.
cy.visit Setup cypress.config.js
Cypress
Fresher
Easy
⏱ 20m
🔥 Hot
cy.intercept() -- Stub API Responses
Intercept network requests and replace them with fixture data.
cy.intercept API Stub Network
Cypress
Junior
Medium
⏱ 30m
📈 High
Custom cy.login() Command
Create a reusable login command to avoid duplicating login steps.
Custom Commands commands.js DRY
Cypress
Junior
Medium
⏱ 20m
📈 High
Playwright (2)
First Playwright Test & Config Setup
Install Playwright, configure it, and write your first passing test.
Setup playwright.config.ts page.goto
Playwright
Fresher
Easy
⏱ 20m
🔥 Hot
Playwright Fixtures -- Shared Auth State
Log in once globally and share the authenticated state across all tests.
Fixtures globalSetup Auth test.extend
Playwright
Senior
Hard
⏱ 45m
📈 High
API Testing (4)
First REST Assured Test -- GET Request
Write your first REST Assured test using the Given-When-Then fluent pattern.
REST Assured GET given-when-then
API Testing
Fresher
Easy
⏱ 20m
🔥 Hot
POST Request -- Create a Resource
Send a POST request with a JSON body and validate the created resource.
POST RequestBody ContentType JSON
API Testing
Junior
Medium
⏱ 25m
🔥 Hot
Schema Validation with JSON Schema
Validate the complete API response structure against a JSON Schema file.
JSON Schema Schema Validation matchesJsonSchemaInClasspath
API Testing
Mid
Medium
⏱ 30m
📊 Med
Chain API Calls -- Create, Read, Delete
Write an end-to-end API test that creates a resource, reads it back, and deletes it.
E2E Chaining CRUD
API Testing
Mid
Medium
⏱ 35m
📈 High
Cucumber (2)
Write a Complete Feature File
Write a well-structured Gherkin feature file with Background, Scenarios, and Examples.
Gherkin Feature Scenario BDD
Cucumber
Fresher
Easy
⏱ 20m
🔥 Hot
Step Definitions + Hooks + PicoContainer
Implement step definitions that share state via dependency injection.
StepDefs Hooks PicoContainer DI
Cucumber
Mid
Hard
⏱ 45m
📈 High
Framework (2)
Build a Complete Hybrid Framework from Scratch
Design and build a production-grade test automation framework combining POM, data-driven, and config-driven approaches.
Hybrid Architecture POM Maven Log4j2
Framework
Senior
Hard
⏱ 120m
🔥 Hot
Data-Driven Testing with Apache POI (Excel)
Read test data from an Excel file and feed it into TestNG @DataProvider.
Apache POI Excel DataDriven @DataProvider
Framework
Mid
Hard
⏱ 40m
📈 High
CI/CD (2)
GitHub Actions -- Run Tests on Every PR
Create a GitHub Actions workflow that runs your test suite on every pull request.
GitHub Actions YAML CI PR
CI/CD
Mid
Medium
⏱ 30m
📈 High
Docker Compose -- Selenium Grid + Tests
Spin up Selenium Grid using Docker Compose and run tests against it.
Docker Selenium Grid 4 docker-compose RemoteWebDriver
CI/CD
Mid
Hard
⏱ 50m
📊 Med
Performance (1)
JMeter Load Test -- Design and Execute
Create a complete JMeter test plan for load testing a web API.
JMeter Thread Group HTTP Sampler Results
Performance
Junior
Medium
⏱ 45m
📊 Med
SQL for QA (2)
SQL Test Verification Queries
Write SQL queries to verify data created or modified by your UI/API tests.
SELECT WHERE JOIN Verification
SQL for QA
Fresher
Easy
⏱ 20m
🔥 Hot
🏆 JDBC -- Database Assertions in Java
Build a DBUtil class that lets your test code query the database directly.
JDBC Connection ResultSet DBUtil
SQL for QA
Mid
Hard
⏱ 40m
📊 Med
🎯 Guided Order

Recommended Learning Path

Follow this sequence to build skills in the right order -- no gaps, no wasted time.

Fresher Junior Mid Senior Lead
Phase 1 · Weeks 1-4
Foundation -- Your First Automated Test
1
Launch Browser & Open URL
SeleniumFresher15m
2
Find Elements -- ID, Name, Class
SeleniumFresher15m
3
XPath Strategies
SeleniumFresher20m
4
Handle Dropdowns
SeleniumFresher15m
5
TestNG Lifecycle Annotations
TestNGFresher20m
6
First REST Assured GET Test
API TestingFresher20m
7
Write Your First Feature File
CucumberFresher20m
8
SQL Test Verification Queries
SQL for QAFresher20m
🎯 Milestone: Write a complete login test that clicks, fills, and asserts
Phase 2 · Weeks 5-10
Core Skills -- Waits, POM, API & BDD
9
Explicit Wait & ExpectedConditions
SeleniumJunior25m
10
Handle Alerts & Popups
SeleniumJunior20m
11
@DataProvider -- Data-Driven Tests
TestNGJunior25m
12
Page Object Model (POM)
SeleniumJunior35m
13
POST Request -- Create Resource
API TestingJunior25m
14
First Cypress Test
CypressFresher20m
15
First Playwright Test
PlaywrightFresher20m
16
Build Hybrid Framework
FrameworkSenior120m
🎯 Milestone: Complete POM-based framework running 10+ tests
Phase 3 · Weeks 11-18
Intermediate -- Listeners, CI/CD, Advanced API
17
Custom ITestListener
TestNGMid40m
18
IRetryAnalyzer -- Auto-Retry
TestNGMid30m
19
JSON Schema Validation
API TestingMid30m
20
Chain API Calls -- CRUD Lifecycle
API TestingMid35m
21
cy.intercept() -- Stub APIs
CypressJunior30m
22
Step Defs + Hooks + PicoContainer
CucumberMid45m
23
Data-Driven with Excel (POI)
FrameworkMid40m
24
GitHub Actions CI Workflow
CI/CDMid30m
🎯 Milestone: Tests running automatically in GitHub Actions on every PR
Phase 4 · Weeks 19-28
Advanced -- Parallel, Cross-Browser, Performance
25
Parallel Execution + ThreadLocal
TestNGSenior45m
26
Cross-Browser DriverFactory
SeleniumSenior40m
27
Playwright Global Auth State
PlaywrightSenior45m
28
Docker Compose + Selenium Grid
CI/CDMid50m
29
JMeter Load Test
PerformanceJunior45m
30
JDBC -- DB Assertions in Java
SQL for QAMid40m
🎯 Milestone: 4-browser parallel run in Docker with HTML report published to CI

Ready to Level Up?

Follow the complete QA Automation roadmap, track your progress, and crack your next SDET interview.