Wipro Automation Interview Questions & Answers 

These are the questions from Wipro Test Automation Engineer interviews in 2025 and 2026, with a model answer for each. The process was consistent across both years: one technical round covering manual testing, Selenium, Java, SQL and API testing — including live coding — followed by an HR round.

Advertisement

Round 1 — Manual Testing & Process

Introduce yourself and explain your testing experience.

Keep your introduction to around 90 seconds.

Cover these points:

  1. Your total testing experience.
  2. Your domain or project experience.
  3. Your current project in one line.
  4. Your technology stack.
  5. What you personally own, such as framework development, API automation or CI.
  6. One measurable achievement.

A good introduction should be concise and focused on the experience most relevant to the Automation Test Engineer role.

See How to Explain Your Project.

Smoke testing vs sanity testing?

Smoke testing is a broad and shallow check of critical functionality on a new build to determine whether the build is stable enough for further testing.

Sanity testing is a narrow and focused check of specific functionality after a fix or small change.

Smoke Testing Sanity Testing
Broad and shallow Narrow and focused
Covers critical functionality Focuses on specific changed functionality
Usually performed on a new build Usually performed after a fix or small change
Determines whether further testing can proceed Verifies that a particular change is working

See Smoke vs Sanity Testing.

Is 100% automation possible?

No. 100% automation is generally not practical or the goal of a good testing strategy.

Some activities still require human involvement or may not provide enough value to automate.

Examples include:

  • Exploratory testing.
  • Usability testing.
  • One-off scenarios.
  • Frequently changing functionality.
  • CAPTCHA-related flows.
  • Tests where automation maintenance would cost more than the value it provides.

Automation is generally more valuable for:

  • Regression testing.
  • Smoke testing.
  • Stable business-critical workflows.
  • Repetitive tests.
  • Data-heavy scenarios.
  • Frequently executed test cases.

The goal is not to automate everything. The goal is to automate the tests where automation provides meaningful and repeatable value.

See Manual vs Automation Testing.

Explain Agile and your role in a sprint.

Agile delivers software in short iterations called sprints.

A typical sprint includes:

  • Sprint planning.
  • Backlog refinement.
  • Daily stand-ups.
  • Development and testing.
  • Sprint review.
  • Sprint retrospective.

As a tester, your responsibilities can include:

  1. Clarifying acceptance criteria during refinement.
  2. Estimating testing effort.
  3. Designing test scenarios and test cases.
  4. Testing stories as they become available.
  5. Identifying regression candidates for automation.
  6. Logging defects.
  7. Retesting fixes.
  8. Running regression testing.
  9. Providing quality status before the sprint review.

See Agile Scrum for Testers.

Round 1 — Selenium & Cucumber

Explain your automation framework.

Start with the framework type and technology stack.

Then explain the architecture:

  • Base classes.
  • Driver factory.
  • Page Objects.
  • Test classes or Cucumber step definitions.
  • Utility classes.
  • Test data.
  • Configuration.
  • Execution strategy.
  • Reporting.
  • CI/CD integration.

Finally, explain one real challenge you solved.

A good framework explanation should demonstrate that you understand not only the tools but also why each component exists and how the components work together.

See Explain Your Automation Framework.

How do you handle alerts?

Use Selenium's Alert interface.

For example:

Alert alert = new WebDriverWait(
        driver,
        Duration.ofSeconds(5)
).until(
        ExpectedConditions.alertIsPresent()
);

System.out.println(alert.getText());

alert.accept();

Other common operations include:

alert.dismiss();

for Cancel, and:

alert.sendKeys("text");

for entering text into a JavaScript prompt alert.

How do you handle multiple windows?

First capture the parent window handle, then iterate through the available window handles.

String parent = driver.getWindowHandle();

for (String handle : driver.getWindowHandles()) {

    if (!handle.equals(parent)) {
        driver.switchTo().window(handle);
    }
}

// Work in the child window

driver.close();

driver.switchTo().window(parent);

The important point is to switch explicitly between window handles rather than assuming which browser window Selenium is currently controlling.

Write code to capture a screenshot.

Using Selenium's TakesScreenshot:

File src = ((TakesScreenshot) driver)
        .getScreenshotAs(OutputType.FILE);

Files.copy(
        src.toPath(),
        Paths.get("screenshots", "login-failure.png")
);

In an automation framework, screenshot capture can be integrated with TestNG's ITestListener.

For example, it can be triggered inside:

onTestFailure()

This means screenshots are automatically captured when a test fails instead of taking screenshots for every test.

What are the common Selenium exceptions?

Some frequently encountered Selenium exceptions are:

Exception Common Cause
NoSuchElementException Element cannot be located
StaleElementReferenceException Element was re-rendered or replaced
TimeoutException Expected condition was not satisfied within the wait
ElementClickInterceptedException Another element is blocking the click
ElementNotInteractableException Element is hidden, disabled or otherwise not interactable
SessionNotCreatedException Browser and driver/session configuration mismatch

When explaining exceptions in an interview, don't just give the name. Explain the likely cause and how you would troubleshoot it.

See Selenium Errors & Exceptions.

Scenario vs Scenario Outline?

A Scenario executes once.

A Scenario Outline executes once for every row in its Examples table.

For example:

Scenario Outline: Login with different users

    Given I enter username "<username>"
    And I enter password "<password>"
    When I click login
    Then I should see the dashboard

Examples:
    | username | password |
    | user1    | pass1    |
    | user2    | pass2    |

The Scenario Outline is useful when the same test flow needs to be executed with multiple sets of test data.

See Feature Files Explained.

How do you manage test data?

Keep test data separate from the automation logic wherever practical.

Common approaches include:

  • JSON files.
  • Excel files.
  • Properties files.
  • TestNG DataProviders.
  • Cucumber Examples.
  • Cucumber DataTables.
  • Environment-specific configuration.
  • Dynamically generated test data.
  • API calls to create prerequisite data.

For example, instead of hardcoding multiple users directly into test scripts, data can be supplied through a DataProvider or external file.

For UI tests that depend on specific backend data, API calls can also be used to create the required data before the UI test starts.

See Data-Driven Testing.

Round 1 — Java & Live Coding

Why is String immutable?

A String in Java is immutable, meaning that once a String object is created, its value cannot be changed.

Important reasons include:

Security

Strings are commonly used for sensitive or important values such as URLs, file paths, class names and credentials. Immutability prevents their contents from being modified unexpectedly after validation.

Thread Safety

Immutable objects can safely be shared between multiple threads because their state cannot change.

String Pool

Java can reuse identical String literals through the String pool.

For example:

String a = "Selenium";
String b = "Selenium";

The same pooled String object can be reused.

Hashing

Because a String's value cannot change, its hash code can be safely used when the String is a key in a HashMap.

When you appear to modify a String, Java actually creates a new String object.

For repeated modifications, use StringBuilder instead:

StringBuilder sb = new StringBuilder();

sb.append("Java");
sb.append(" Selenium");
sb.append(" TestNG");

HashMap vs HashSet?

Both belong to the Java Collections Framework, but they serve different purposes.

HashMap HashSet
Stores key-value pairs Stores unique values
Keys must be unique Elements must be unique
Example: Map<String, String> Example: Set<String>
Access values using keys Checks whether an element exists
Does not guarantee insertion order Does not guarantee insertion order

A HashSet is internally backed by a HashMap.

Both allow a single null value/key under normal usage.

If insertion order needs to be maintained, use:

LinkedHashMap

or:

LinkedHashSet

How have you used collections in automation?

Collections are commonly used throughout automation frameworks.

Examples include:

List<WebElement>

for:

  • Table rows.
  • Search results.
  • Dropdown options.
  • Lists of UI elements.

A Set can be used for browser window handles:

Set<String> handles = driver.getWindowHandles();

A Map can be used for test data, configuration and expected values:

Map<String, String> testData =
        new HashMap<>();

For example:

username → testuser
password → password123
role     → admin

See Java Collections in Your Framework.

Reverse a string.

One approach is to convert the String into a character array and swap characters from both ends.

public static String reverse(String s) {

    char[] c = s.toCharArray();

    for (int i = 0, j = c.length - 1;
         i < j;
         i++, j--) {

        char tmp = c[i];
        c[i] = c[j];
        c[j] = tmp;
    }

    return new String(c);
}

Example:

Input:  Selenium
Output: muineleS

Find the length of the longest substring without repeating characters.

A sliding-window approach can solve this problem in O(n) time.

Maintain the last position at which each character was seen. When a duplicate character appears inside the current window, move the start of the window beyond the previous occurrence.

public static int longestUniqueSubstring(String s) {

    Map<Character, Integer> lastSeen =
            new HashMap<>();

    int best = 0;
    int start = 0;

    for (int i = 0; i < s.length(); i++) {

        char c = s.charAt(i);

        if (lastSeen.containsKey(c)
                && lastSeen.get(c) >= start) {

            start = lastSeen.get(c) + 1;
        }

        lastSeen.put(c, i);

        best = Math.max(
                best,
                i - start + 1
        );
    }

    return best;
}

Examples:

longestUniqueSubstring("abcabcbb")
→ 3 ("abc")

longestUniqueSubstring("pwwkew")
→ 3 ("wke")

More practice: Top 30 SDET Coding Questions.

Round 1 — API Testing & Reporting

200, 201, 400 and 401?

These HTTP status codes represent different API outcomes.

Status Code Meaning
200 OK Request was successful
201 Created A new resource was created
400 Bad Request Request contains invalid input or syntax
401 Unauthorized Authentication is missing or invalid

A common example is:

POST /users
→ 201 Created

when a new user has been successfully created.

See the HTTP Status Codes Cheat Sheet.

PUT vs PATCH?

Both methods are used to update resources, but they differ in how much of the resource is updated.

PUT generally replaces the complete resource and is idempotent.

PATCH updates only the fields included in the request.

PUT PATCH
Usually replaces the complete resource Updates selected fields
Idempotent Idempotency depends on the implementation
Client generally sends the full representation Client sends only required changes

See GET vs POST vs PUT vs PATCH.

Which reporting tool do you use, and why?

A good answer should name the tool and explain why you selected it.

For example:

“I use Extent Reports because it provides readable HTML reports with screenshots, logs and environment information. These reports can be published through Jenkins and easily accessed by both technical and non-technical stakeholders.”

Another valid option is Allure.

The important part is not simply naming the reporting tool. Explain:

  • Why you selected it.
  • What information it provides.
  • How it integrates with your automation framework.
  • How the team accesses the reports.

Round 2 — HR

What are your expected CTC?

Give a researched salary range based on your experience, current compensation and the requirements of the role.

See SDET Salary Negotiation.

What is your notice period?

State your actual notice period clearly.

If there is flexibility, explain whether the notice period is negotiable and what joining timeline you can realistically commit to.

Avoid making a commitment that you cannot meet.

Why Wipro?

Focus your answer on professional factors relevant to the role.

For example:

“Wipro offers exposure to large-scale projects and a variety of client environments. The role also aligns well with my automation experience, particularly Selenium, API testing, framework development and CI/CD. I see it as an opportunity to work on larger automation initiatives while continuing to develop my technical skills.”

What are your strengths?

Choose two strengths that are relevant to the position.

For each strength, provide a short example.

For example:

“One of my strengths is problem solving. In automation projects, when a test becomes unstable, I investigate whether the root cause is synchronization, test data, locator instability or an application issue rather than simply adding retries.”

A second strength could focus on framework development, debugging, communication or ownership.

Are you willing to relocate?

Answer clearly and honestly.

If you are comfortable relocating:

“Yes, I am open to relocation based on the requirements of the role.”

If you have constraints, explain them politely and provide the locations or conditions you can accommodate.

More: HR Interview Guide.

More Questions From Recent Wipro Interviews

Candidates reporting recent Wipro rounds also mention these questions.

1. Explain the bug life cycle.

New → Assigned → Open (in progress) → Fixed → Retest → Verified → Closed, with side paths: Rejected or Not a Bug, Duplicate, Deferred, and Reopened when retesting fails. See defect management.

2. What do you check before logging a bug?

That it reproduces on the latest build, it isn't a duplicate, it's really a deviation from the requirement (not a test-data or environment issue), and you have clear steps, data, expected versus actual results and evidence.

3. How do you decide which test cases to automate?

Stable, repetitive, high-risk and data-driven tests such as smoke and regression; not one-off checks, frequently changing UI or exploratory testing.

4. findElement vs findElements?

findElement returns the first match or throws NoSuchElementException; findElements returns a list, empty if nothing matches.

5. Implicit vs explicit wait: when do you use each?

Explicit waits for specific conditions on specific elements; avoid implicit waits in frameworks (or keep them at zero) because mixing the two causes unpredictable delays.

6. Why do we use tags in Cucumber?

To group and select scenarios (@smoke, @regression, @wip), run subsets with tags = "@smoke and not @wip", and attach tagged hooks such as @Before("@login").

7. How do you resolve Git conflicts?

Pull the latest changes, open the conflicted files, keep the correct code between the conflict markers, remove the markers, run the tests, then add and commit (or continue the rebase).

8. HR: tell me about yourself beyond your resume, a challenging situation, and whether you're comfortable with shifts.

Share a genuine interest that shows learning or teamwork, a short STAR story with a measurable result, and an honest, clear answer on shifts.

From Real Projects

In interviews for testing and automation roles, I've found the questions come back to real work: the application you tested, how you wrote and reviewed test cases, how you tracked execution and defects (for me, TestRail and Jira), and how your automation was structured (Selenium, Java, TestNG, POM and a business library). Prepare one short, honest example from your own projects for each topic on this page. On Canolog, every department — sales, inventory, finance, service and parts — connects to the others, so a change in one module had to be checked in the flows that depend on it. Expect a mix of Selenium, Java, TestNG and project questions.

FAQs

What rounds does Wipro have for automation testing roles?

The interview process described here typically consists of a technical round covering manual testing, Selenium, Java with live coding, SQL and API testing, followed by an HR round.

Which coding questions were asked?

The coding topics include:

  • Reversing a String.
  • Finding the length of the longest substring without repeating characters.

The technical discussion also covers concepts such as:

Which Selenium topics were asked?

The Selenium discussion includes:

  • Automation framework explanation.
  • Handling alerts.
  • Handling multiple browser windows.
  • Capturing screenshots.
  • Common Selenium exceptions.
  • Cucumber Scenario vs Scenario Outline.
  • Test-data management.

How should I prepare?

Start by rehearsing your framework explanation because it is one of the areas that can lead to multiple follow-up questions.

Then practice the coding programs without an IDE.

Focus particularly on:

  • String manipulation.
  • Java Collections.
  • Selenium waits and alerts.
  • Multiple-window handling.
  • Screenshot capture.
  • Selenium exceptions.
  • API status codes.
  • PUT vs PATCH.
  • Reporting tools.
  • Agile testing processes.

See The Complete SDET Interview Guide.