Skip to content

Automation Testing Interview Questions for Fintech Companies

40 questions weighted to the interview style of fintech companies — 6 easy, 30 medium, 4 hard.

How fintech companies interview for Automation Testing

Fintech companies care about correctness, security and scale because they move money. Interviews add domain questions on payments, risk, reconciliation and compliance to the usual technical rounds, and often include practical tasks.

This set focuses on Selenium WebDriver (10), TestNG Framework (6), Cucumber and BDD (5), REST Assured (4).

HR round Hiring manager round Online coding assessment Technical round 1 (DSA) Online assessment or assignment
Solved — fintech companiesStart practicing
3 QUESTIONS FREESign up to unlock the full question bank and track your progress.Unlock every question and answer, then continue practising company-wise and package-wise.
3 questions free Unlock the rest in seconds
01

How do you pass authentication in an API test?

Save to ▾
Show answer
Use headers such as Bearer tokens, basic auth, API keys or OAuth flows; fetch a token in a setup step and reuse it.
02

What is Postman and how do you automate with it?

Save to ▾
Show answer
An API client. Add tests in JavaScript, use environments and collections, and run them with Newman in a CI pipeline.
03

How do you run JavaScript in Selenium?

Save to ▾
Show answer
Cast the driver to JavascriptExecutor and use executeScript, for example to scroll into view or click hidden elements.
04

What is data-driven testing?

Save to ▾
Show answer
Running the same test logic with multiple data sets from Excel, CSV, JSON or a database, so coverage increases without duplicating code.
05

What is the difference between the normal, eager and none page load strategies in Selenium?

Save to ▾
Show answer
Page load strategy decides when navigation commands like get() return. Normal, the default, waits for the full load event including images and stylesheets. Eager returns when the DOM is ready (DOMContentLoaded), which speeds up heavy pages. None returns immediately after the initial response. With eager or none you must rely on explicit waits for the elements you need. Set it through options.setPageLoadStrategy(PageLoadStrategy.EAGER).
06

How do you extract an auth token with JSON Extractor and use it in later JMeter requests?

Save to ▾
Show answer
Add a JSON Extractor as a child of the login sampler. Set the variable name to token, the JSON path expression to $.access_token, match number 1 and a default like TOKEN_NOT_FOUND so failures are visible. Then add an HTTP Header Manager at Thread Group level with Authorization set to Bearer ${token}. Each thread extracts and uses its own token, because JMeter variables are per thread.
07

Difference between ArrayList and LinkedList?

Save to ▾
Show answer
ArrayList has fast random access and slower inserts in the middle; LinkedList has fast inserts and deletes but slow access by index.
08

Your API tests started failing with SSL handshake errors on a new test server. What do you do?

Save to ▾
Show answer
First confirm the server uses a self-signed or internal certificate. The proper fix is to import the company CA certificate into a truststore and configure REST Assured with trustStore(path, password). As a temporary measure in a test environment only, relaxedHTTPSValidation() skips checks. Never use relaxed validation against production, and raise the certificate issue with the infra team.
09

Write a TestNG listener that logs test start and failure.

Save to ▾
Show answer
public class LogListener implements ITestListener { @Override public void onTestStart(ITestResult r) { System.out.println("START: " + r.getMethod().getMethodName()); } @Override public void onTestFailure(ITestResult r) { System.out.println("FAIL: " + r.getName() + " - " + r.getThrowable()); } } // register with @Listeners(LogListener.class) or <listeners> in testng.xml
10

Your 200 mobile tests across six devices take too long to finish. How would you speed them up?

Save to ▾
Show answer
Run devices in parallel with one thread per device, each with its own udid, systemPort or wdaLocalPort. Use deep links or API calls to reach the screen under test instead of navigating through the UI every time. Prefer noReset with explicit data cleanup over reinstalling the app. Replace XPath with accessibility ids. Split the suite so pull requests run a small smoke set on emulators while the full device matrix runs nightly.
11

How do you run only selected scenarios using tags in Cucumber?

Save to ▾
Show answer
Add tags like @smoke or @regression above a Feature or Scenario, then filter with a tag expression. In the runner use @ConfigurationParameter(key = FILTER_TAGS_PROPERTY_NAME, value = "@smoke and not @wip") with the JUnit Platform engine, or pass -Dcucumber.filter.tags="@smoke" from Maven. Tag expressions support and, or, not and brackets, so CI can run smoke on every commit and regression nightly.
12

What are listeners in TestNG?

Save to ▾
Show answer
Classes like ITestListener that react to events such as test start, success or failure, commonly used for screenshots and reporting.
13

Tell me about a time a BDD conversation clarified a requirement before development started.

Save to ▾
Show answer
Situation: a story said users get a refund if an order is cancelled early. Task: write scenarios with the product owner and developer. Action: while writing examples I asked what early meant and whether shipped orders counted. The three of us found the story had no time limit and no rule for partial shipments, and we wrote four concrete scenarios. Result: the rules were fixed before coding, avoiding a rework that had happened in a previous sprint.
14

Chrome inside a Docker node keeps crashing with session deleted because of page crash. How do you fix it?

Save to ▾
Show answer
This is almost always shared memory exhaustion, because Docker's default /dev/shm of 64 MB is too small for Chrome. Set shm_size: 2gb in Compose or --shm-size=2g in docker run. Also check the container's memory limit and the number of sessions per node, since several browsers in one container multiply memory use. Heavy pages or memory leaks in long sessions can also crash tabs, so restart sessions between test classes.
15

What are the standalone, hub and node, and distributed modes of Selenium Grid 4?

Save to ▾
Show answer
Standalone runs every Grid component and a local node in a single process, which suits a laptop or a single container. Hub and node mode runs the router, distributor, queue and session map together as the hub, with separate node processes registering to it, which is the usual team setup. Fully distributed mode runs each component separately, often on Kubernetes, for very large grids that need independent scaling and high availability.
16

How do you create a custom parameter type in Cucumber?

Save to ▾
Show answer
Annotate a method with @ParameterType, giving a regex and returning a domain object. For example @ParameterType("admin|manager|viewer") public Role role(String name) { return Role.valueOf(name.toUpperCase()); } lets you write steps like "I log in as {role}". It keeps conversion logic in one place, makes steps type-safe and gives clearer errors when an invalid value is used.
17

How do you handle StaleElementReferenceException?

Save to ▾
Show answer
Re-locate the element after the DOM refreshes, use explicit waits for the refreshed element, don't keep element references for long, or wrap the action in retry logic.
18

What is Appium and how does its architecture work?

Save to ▾
Show answer
Appium is an open-source tool for automating native, hybrid and mobile web apps on Android and iOS using the W3C WebDriver protocol. Your Java test sends HTTP commands to the Appium server, which forwards them to a platform driver such as UiAutomator2 for Android or XCUITest for iOS. That driver talks to the device and returns results. Because it follows WebDriver, Selenium testers can reuse locators, waits and framework design.
19

How do you scroll a page in Selenium?

Save to ▾
Show answer
Use JavascriptExecutor with window.scrollTo or scrollIntoView, or the Actions class scroll methods in Selenium 4.
20

Write a DataProvider that supplies two sets of login data and a test that uses it.

Save to ▾
Show answer
@DataProvider(name = "logins") public Object[][] logins() { return new Object[][] { {"asha", "Valid@1", true}, {"asha", "wrong", false} }; } @Test(dataProvider = "logins") public void login(String user, String pass, boolean ok) { boolean result = loginPage.loginAs(user, pass).isLoggedIn(); Assert.assertEquals(result, ok); }
21

Describe a time you improved the maintainability of an automation framework.

Save to ▾
Show answer
Situation: our suite had duplicated locators across 200 tests and each UI release broke many of them. Task: reduce maintenance effort. Action: I introduced page objects and components for the top ten pages, added data-testid attributes with the developers and wrote a short guide. Result: fixing a UI change went from half a day to under an hour, and new joiners wrote tests faster.
22

Developers changed a field from a number to a string and your tests did not catch it. How do you prevent this?

Save to ▾
Show answer
Add JSON schema validation for key responses so type changes fail immediately, and deserialize into typed POJOs, which fail when types do not match. For services with multiple consumers, introduce contract tests so providers learn about breaks before deploying. Also ask for API changes to be shared in pull requests or a changelog that QA reviews.
23

Your Selenium tests in CI produce blank screenshots in headless mode. What could be wrong?

Save to ▾
Show answer
The screenshot may be taken before the page renders, the window size in headless mode may be tiny, or the browser is crashing due to low shared memory in Docker. Set --window-size=1920,1080, use the new headless mode, wait for page content before capturing, and add --disable-dev-shm-usage or a larger shm size for containers.
24

An element is visible in Appium Inspector but your test throws NoSuchElementException on the device. What do you check?

Save to ▾
Show answer
First check timing: the screen may still be loading, so add an explicit wait for presence. Then check context: in a hybrid app the element may be in a webview while you are in NATIVE_APP. Confirm the locator matches exactly, including package prefix in resource-id. The element may be off screen in a list, so scroll first. Also check that the Inspector session used the same app build, language and device size as the test.
25

What are Maven dependency scopes?

Save to ▾
Show answer
compile is the default and available everywhere. test is only for test compile and run, such as TestNG and REST Assured. provided is needed for compiling but supplied at runtime by the container. runtime is not needed to compile but needed to run, like JDBC drivers. system and import are rarer. In test projects, mark test libraries as test scope unless framework code in src/main uses them.
26

How do you mock an external API in automation tests?

Save to ▾
Show answer
Use a tool such as WireMock or MockServer to run a stub server that returns predefined responses for given requests. Point the application or tests to the stub with configuration. This lets you test error codes, timeouts and edge cases that are hard to trigger on the real service, and keeps tests stable when the third party is down. Still keep a few tests against the real integration.
27

What is the Optional class in Java and where is it useful in test code?

Save to ▾
Show answer
Optional is a container that may or may not hold a value, introduced in Java 8 to avoid returning null. In test code it suits lookups that can legitimately find nothing, such as finding a row in a table or reading an optional config key. Callers use orElse, orElseThrow or ifPresent instead of null checks. For example, findRowByName(name).orElseThrow(() -> new AssertionError(name + " not found")) gives a clear failure message.
28

What makes a good Gherkin scenario?

Save to ▾
Show answer
A good scenario describes one behaviour in business language, uses declarative steps ("When the user logs in as a manager") rather than UI clicks ("When I click the login button"), has one When and a clear Then, stays under about 5 to 7 steps and is independent of other scenarios. The title should state the rule being checked so failures are understood without opening the code.
29

Write a REST Assured test using RequestSpecBuilder and ResponseSpecBuilder.

Save to ▾
Show answer
RequestSpecification req = new RequestSpecBuilder() .setBaseUri(Config.baseUrl()) .setContentType(ContentType.JSON) .addHeader("Authorization", "Bearer " + token) .build(); ResponseSpecification ok = new ResponseSpecBuilder() .expectStatusCode(200) .expectContentType(ContentType.JSON) .build(); given().spec(req).when().get("/orders").then().spec(ok);
30

What is the Maven Failsafe plugin and how is it different from Surefire?

Save to ▾
Show answer
Surefire runs unit tests in the test phase and stops the build as soon as tests fail. Failsafe runs integration tests in the integration-test phase and checks results later in the verify phase, so post-integration-test steps, like stopping a server or Docker containers, still run after failures. By default Failsafe picks classes named *IT. Many teams run UI and API suites through Failsafe with mvn verify for that reason.
31

An assertion on element text fails even though the text looks identical on screen. What could be the reason?

Save to ▾
Show answer
The text may contain extra whitespace, a line break or a non-breaking space that looks normal visually. getText() also returns only visible text and applies CSS text-transform, so uppercase styling changes the value. Print the string with its length or character codes to spot hidden characters. Fix it by trimming and normalising whitespace before comparing, or compare with the expected case-insensitively when the UI uses text-transform.
32

A cookie consent banner appears randomly and blocks clicks in your Selenium tests. How do you handle it?

Save to ▾
Show answer
The most stable fix is preventing it: set the consent cookie before the test with driver.manage().addCookie after opening the domain, or ask developers for a test flag that disables the banner. If it must be handled in the UI, write one helper that checks for the banner with a short wait using findElements and closes it if present. Call it from the BasePage after navigation, not scattered in tests.
33

Tell me about a time a flaky test cost your team time and how you fixed it permanently.

Save to ▾
Show answer
Situation: a checkout test failed about one run in five and the team started ignoring red builds. Task: fix the root cause, not just rerun it. Action: I added logs and screenshots, found it raced with an async price recalculation, replaced a fixed sleep with a wait on the updated total and asked developers for a loading flag. Result: zero failures in the next sixty runs, and the team trusted red builds again.
34

How do you handle a dropdown that is not a <select> tag?

Save to ▾
Show answer
Click to open the dropdown, then locate the option by its text, e.g. //li[text()='India'], and click it. Add an explicit wait for the animation.
35

How do you manage test data in a framework?

Save to ▾
Show answer
Use external files or APIs and database setup scripts, generate unique data per run, and clean up afterwards so tests stay independent.
36

Describe a time you automated a manual build or release step for the QA team.

Save to ▾
Show answer
Situation: before each regression a tester spent an hour deploying the build to QA and seeding data by hand. Task: remove that manual step. Action: I wrote a Jenkins pipeline stage that deployed the build, ran database seed scripts and a smoke check, then triggered the regression job, and documented it for the team. Result: setup dropped to ten minutes without human effort, and regressions could run overnight automatically.
37

How do you test a responsive page in a mobile viewport using Selenium?

Save to ▾
Show answer
For layout checks you can set the window size, like driver.manage().window().setSize(new Dimension(390, 844)). For closer emulation in Chrome use mobile emulation in ChromeOptions: options.setExperimentalOption("mobileEmulation", Map.of("deviceName", "Pixel 7")), which also sets the user agent, pixel ratio and touch events. This catches responsive layout bugs quickly, but it is not a replacement for testing on real mobile browsers.
38

What is ITestContext in TestNG and how can you use it to share data?

Save to ▾
Show answer
ITestContext represents one test tag from testng.xml and is passed to listeners and configuration methods. It holds the suite, included methods and results, and has setAttribute and getAttribute to share values, such as an auth token created in @BeforeTest and read by later classes. Because it is shared by every thread in that test tag, store only thread-safe or read-only data there, not WebDriver instances during parallel runs.
39

What is the Rule keyword in Gherkin?

Save to ▾
Show answer
Rule, added in Gherkin 6, groups scenarios that illustrate one business rule inside a feature. For example, a Feature: Discounts can have Rule: Orders above 1000 get free delivery, followed by scenarios showing the rule holding and not holding. Each Rule can have its own Background. It makes feature files read like a specification of rules with examples, which helps business stakeholders see exactly what each scenario proves.
40

How do you handle alerts and pop-ups?

Save to ▾
Show answer
driver.switchTo().alert() lets you accept, dismiss, read text or send keys. Browser windows are handled with window handles.

Fintech companies (19)

Fintech

Intuit

Automation Testing interview questions

  • 40 questions
  • 5 rounds

Bengaluru

View questions
Fintech

CRED

Automation Testing interview questions

  • 40 questions
  • 4 rounds

Bengaluru

View questions
Fintech

Paytm

Automation Testing interview questions

  • 40 questions
  • 5 rounds

Noida, Bengaluru, Mumbai

View questions
Fintech

PhonePe

Automation Testing interview questions

  • 40 questions
  • 5 rounds

Bengaluru, Pune

View questions
Fintech

Razorpay

Automation Testing interview questions

  • 40 questions
  • 5 rounds

Bengaluru, Mumbai

View questions
Fintech

PayPal

Automation Testing interview questions

  • 40 questions
  • 5 rounds

Chennai, Bengaluru, Hyderabad

View questions
Fintech

Stripe

Automation Testing interview questions

  • 40 questions
  • 5 rounds

Bengaluru

View questions
Fintech

Visa

Automation Testing interview questions

  • 40 questions
  • 5 rounds

Bengaluru, Mumbai

View questions
Fintech

Mastercard

Automation Testing interview questions

  • 40 questions
  • 5 rounds

Pune, Vadodara, Gurugram +1

View questions
Fintech

Bloomberg

Automation Testing interview questions

  • 40 questions
  • 5 rounds

Mumbai

View questions
Fintech

DE Shaw

Automation Testing interview questions

  • 40 questions
  • 5 rounds

Hyderabad, Bengaluru, Gurugram

View questions
Fintech

Tower Research Capital

Automation Testing interview questions

  • 40 questions
  • 5 rounds

Gurugram

View questions
Fintech

Groww

Automation Testing interview questions

  • 40 questions
  • 4 rounds

Bengaluru

View questions
Fintech

Zerodha

Automation Testing interview questions

  • 40 questions
  • 4 rounds

Bengaluru

View questions
Fintech

Policybazaar

Automation Testing interview questions

  • 40 questions
  • 4 rounds

Gurugram

View questions
Fintech

Juspay

Automation Testing interview questions

  • 40 questions
  • 4 rounds

Bengaluru

View questions
Fintech

Cashfree Payments

Automation Testing interview questions

  • 40 questions
  • 4 rounds

Bengaluru

View questions
Fintech

Pine Labs

Automation Testing interview questions

  • 40 questions
  • 4 rounds

Noida, Bengaluru

View questions
Fintech

Bajaj Finserv

Automation Testing interview questions

  • 40 questions
  • 4 rounds

Pune

View questions

Frequently asked questions

How are Automation Testing interviews at fintech companies different?

Fintech companies care about correctness, security and scale because they move money. Interviews add domain questions on payments, risk, reconciliation and compliance to the usual technical rounds, and often include practical tasks.

Which fintech companies are covered?

This page links to 19 fintech companies, including Intuit, CRED, Paytm, PhonePe, Razorpay, PayPal, Stripe, Visa. Each has its own page with rounds and a separate practice set.

What rounds should I expect?

Common rounds at these companies include: HR round; Hiring manager round; Online coding assessment; Technical round 1 (DSA); Online assessment or assignment. The exact process varies by company and role.