QA automation engineering is one of the most in-demand roles in Indian tech as companies invest in automated test coverage to ship faster. The role has evolved from writing Selenium scripts to owning the entire testing infrastructure: end-to-end tests, API tests, performance tests, and CI/CD integration. This guide covers what to expect in QA automation interviews at Indian companies in 2026.
QA automation engineer salary and career path in India 2026
QA automation engineer salary India (2024-25):
Junior QA automation engineer (0-2 years, Selenium/Cypress): 5-14 LPA at product companies; 3-8 LPA at IT services. Mid-level SDET (Software Development Engineer in Test) (3-5 years): 15-35 LPA at product companies. Senior QA automation engineer/SDET (5-8 years): 28-60 LPA.
SDET vs manual QA: SDET roles at product companies pay significantly more than manual QA or IT services QA roles. The distinction: SDET engineers write production-quality test code, participate in code reviews, build testing frameworks, and own the CI/CD pipeline quality gates. Manual QA roles are being automated away.
Focus on becoming an SDET, not a manual tester, for the best career trajectory.
Companies with strong SDET teams in India: Swiggy, PhonePe, Razorpay, Freshworks, and IT services companies' testing practices (TCS iQA, Infosys BPM testing). The SDET career path at product companies: Junior SDET, Senior SDET, Lead SDET (owning the testing strategy for a product area), SDET Manager or Principal SDET.
Selenium WebDriver and Page Object Model
Selenium interview questions:
1. What is Selenium WebDriver? Selenium WebDriver is a browser automation library. It provides a programmatic interface to control browser actions (clicking, typing, navigating) from test code. Languages supported: Java (most common in Indian enterprise), Python, C#, JavaScript, Ruby.
2. Locator strategies in Selenium (in order of preference): 1. By.id() (most reliable: IDs should be unique per page) 2. By.cssSelector() (fast and flexible: uses CSS selectors) 3. By.xpath() (powerful but brittle: avoid unless necessary) Avoid By.name() and By.tagName() for specific elements (they can match multiple elements).
3. WebDriverWait (explicit waits): Synchronisation is the most common source of flakiness in Selenium tests. Use explicit waits: wait for specific conditions before interacting with an element. WebDriverWait(driver, Duration.ofSeconds(10)).until(ExpectedConditions.elementToBeClickable(By.id('submit-button'))) Never use Thread.sleep() (wastes time and is brittle); use explicit waits instead.
4. Page Object Model (POM): POM is a design pattern that creates one class per page (or major component). The class encapsulates the page's elements (as WebElement fields) and the actions that can be performed on the page (as methods). Benefits: separates test logic from page structure (when the UI changes, update only the Page Object class, not every test); improves readability; promotes reuse.
5. TestNG vs JUnit for Selenium in Java: TestNG: more flexible annotations (@BeforeClass, @AfterClass, @DataProvider for parameterised tests, @Test with groups); better parallel test execution support; widely used with Selenium in Indian enterprise. JUnit 5: modern; cleaner API; strong Spring integration; growing adoption for unit tests but less common for Selenium tests specifically.
Cypress and Playwright for modern test automation
Modern test automation frameworks:
1. Cypress: Cypress is a modern JavaScript end-to-end testing framework that runs in the browser (not via WebDriver). This makes it much faster and more reliable than Selenium for testing React, Angular, and Vue applications.
Key concepts:
- cy.get('selector'): select elements using CSS selectors
- cy.contains('text'): select elements by text content
- cy.intercept(): intercept and mock HTTP requests (essential for testing loading states and error handling without hitting real APIs)
- cy.visit('url'): navigate to a URL
- Custom commands: define reusable commands (e.g., cy.login()) in cypress/support/commands.js
- No explicit waits: Cypress automatically retries until the assertion passes or a timeout is reached
Best suited for: React/Vue/Angular web apps; teams that primarily use JavaScript.
2. Playwright: Playwright is Microsoft's cross-browser automation tool. Supports Chromium, Firefox, and WebKit. Modern async API with first-class async/await support. Strong parallel test execution (run tests across multiple browsers simultaneously). Auto-waiting: Playwright automatically waits for elements to be visible and stable before interacting.
Key advantages over Cypress: true cross-browser testing (Cypress only supports Chromium-based browsers in full), better API for testing in multiple tabs or browser contexts, and more powerful network interception (page.route()).
Playwright vs Cypress:
- Playwright: better for multi-browser, multi-tab, or complex interactions; TypeScript-first
- Cypress: better DX for single-browser web app testing; excellent documentation; larger Indian community
Practise QA automation and SDET interview questions with HireStepX's AI voice interviewer. Get scored feedback on your test strategy explanations and how you reason about automation coverage. First 2 sessions free.
Practice freeAPI testing and test strategy questions
API testing and test strategy:
1. API testing tools: Postman: most popular for manual API testing in India; also used for automated API testing via Collection Runner and Newman (Postman's CLI, used in CI/CD pipelines). RestAssured (Java): the most popular API testing library for Java; validates JSON/XML responses using a fluent DSL; integrates with TestNG/JUnit. pytest + requests (Python): the most popular API testing approach in Python; simple and powerful; integrates with pytest's fixture system.
2. Test strategy questions: 'How do you decide what to automate vs test manually?' Automate: regression tests (previously broken functionality), smoke tests (critical path: can a user log in, make a purchase, complete the core flow?), tests that run on every PR, data-driven tests (same test logic with many different inputs). Manual: exploratory testing (finding unexpected bugs), one-time test scenarios, usability and visual checks, tests where the automation cost exceeds the maintenance benefit.
3. Test pyramid: Unit tests (many, fast, cheap): test individual functions and classes; no external dependencies (mock everything). Integration tests (fewer, medium cost): test how components work together (e.g., does the API controller correctly call the service, which calls the database?). End-to-end tests (fewest, slow, expensive): test the full user journey in a browser or via API. The pyramid is often inverted in practice (many E2E tests, few unit tests); this causes slow, flaky CI pipelines. Advocate for investing in unit and integration tests to support the E2E layer.
4. CI/CD integration: Run automated tests on every PR; fail the build if any tests fail; measure test coverage and fail if it drops below the threshold. Report test results in the PR with clear failure reasons. Flaky tests: track flakiness rate per test; quarantine (disable then fix) flaky tests rather than ignoring or retrying them silently.
Frequently asked questions
Explore more