🆕 Free Interactive Selenium, Playwright & API tools — no signup — 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 Tuesday, October 20
Cypress First Cypress Test -- Setup and Visit
Easy ⏱ 20 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.

Advertisement