Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About BNY hiring for Automation Testing roles
BNY, formerly known as BNY Mellon, is an American financial services company known for custody, asset servicing, clearing, treasury services and investment management. It is one of the oldest banks in the United States. In India its centres in Pune and Chennai hire software engineers, data analysts, risk professionals and operations roles that support global clients.
For Automation Testing roles, this BNY practice set focuses most on Selenium WebDriver (8), REST Assured (6), Page Object Model (5), Appium Mobile Automation (4). It has 5 easy, 29 medium, 6 hard questions, so you can start easy and work up to the harder ones.
Company type
Banking & finance
Headquarters
New York, USA
Main India offices
Pune, Chennai
BNY Automation Testing interview process
Online assessment (aptitude + coding)
Technical interview
Managerial round
HR round
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for BNYStart 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.
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).
04
Write Appium Java code to perform a vertical swipe using W3C Actions.
It sets how many browser sessions a node container can run at once. The default is one, which gives the best isolation and stability. Increasing it lets one container run several browsers in parallel, but you must also set SE_NODE_OVERRIDE_MAX_SESSIONS to true and give the container enough CPU, memory and shared memory. Many teams keep one session per container and scale the number of containers instead.
07
How do you verify that an element is displayed, enabled or selected?
Do not try to read SMS from a real phone. Ask developers for a test-only approach: a fixed OTP for test users, a bypass flag in non-production, or an API to fetch the latest OTP. For authenticator apps, store the test account's TOTP secret and generate codes in Java with a TOTP library. Keep production 2FA untouched and secrets in the CI credential store.
09
Why is XPath slow in Appium and what should you use instead?
For every XPath query Appium must fetch the full page source of the app, convert it into an XML document and then evaluate the expression, which can take seconds on large screens and is even slower on iOS. Index-based XPath also breaks when layouts change. Use accessibility id first, then resource-id, Android UiAutomator selectors or iOS predicate strings and class chains, which are evaluated natively on the device and are much faster.
Create a base module with shared specs, auth handling, config per environment, filters for logging and reporting, and utilities. Each service gets its own client class wrapping endpoints and POJOs for its models. Tests call clients, never raw URLs. Use builders for test data, schema checks for contracts, tags to run per service, and run independent services in parallel in CI.
13
A teammate compares two strings with == and the test sometimes passes and sometimes fails. Explain.
== compares object references, not content. String literals are interned, so two literals with the same text may share a reference and == returns true, but strings read from the UI or built at runtime are new objects, so == returns false even with the same text. Use equals() or equalsIgnoreCase() for content, and Objects.equals() to be null-safe.
14
How do you handle a test that is flaky only in headless mode?
Use both, for different purposes. Emulators and simulators are cheap, fast to reset and easy to run in CI, so they suit smoke and regression runs on every commit. Real devices reveal issues emulators hide: performance on low-end hardware, camera, biometrics, push notifications, network changes and vendor-specific Android skins. A common plan is emulators in the pull request pipeline and a nightly run on a small matrix of real devices covering the most-used models.
16
What is serialization and deserialization in REST Assured?
Serialization converts a Java object (POJO) into JSON for the request body; deserialization converts the response JSON back into a Java object. REST Assured does this automatically when Jackson or Gson is on the classpath: body(userPojo) serializes and response.as(User.class) deserializes. Using POJOs gives type safety, IDE support and cleaner assertions compared with hand-written JSON strings.
17
What is the Maven Failsafe plugin and how is it different from Surefire?
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.
A test plan contains Thread Groups that simulate users, Samplers such as HTTP Request that send requests, Config Elements like HTTP Request Defaults, CSV Data Set Config and Header Manager, Logic Controllers that control flow, Timers that add think time, Pre and Post Processors that prepare data or extract values, Assertions that validate responses, and Listeners that collect results. Elements apply according to their scope in the tree.
20
How do you read data from Excel or properties files in Java?
Write a method that builds the locator from a parameter, for example private By rowFor(String name) { return By.xpath("//tr[td[normalize-space()='" + name + "']]"); }, and expose actions like deleteUser(name). Keep the template in the page class, not in tests. Escape quotes if names may contain them, and prefer CSS with data attributes when the application provides them.
22
How do you pass thread count and duration to a JMeter test from the command line?
// In the Thread Group fields use property functions with defaults
Number of Threads: ${__P(users,10)}
Ramp-up period: ${__P(rampup,30)}
Duration (seconds): ${__P(duration,300)}
// Then override them when running
jmeter -n -t load.jmx -l out.jtl -Jusers=200 -Jrampup=120 -Jduration=1800
23
Your Selenium tests in CI produce blank screenshots in headless mode. What could be wrong?
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
How do you handle authentication types in REST Assured?
Basic auth uses auth().preemptive().basic(user, pass). Bearer tokens are set as a header: header("Authorization", "Bearer " + token). OAuth 2.0 can use auth().oauth2(token) after fetching the token from the token endpoint. API keys go in a header or query param. Fetch tokens once per suite or cache them with an expiry check rather than logging in before every test.
25
How do you assert on an array in a JSON response using Hamcrest?
Use collection matchers inside body(). For example body("data.id", hasItems(1, 2)), body("data", hasSize(6)), body("data.email", everyItem(containsString("@"))) and body("data.find { it.id == 3 }.name", equalTo("Neha")). These check the whole collection in one line. For complex rules, extract a List with jsonPath().getList() and assert with Java or AssertJ.
Run mvn dependency:tree to see which versions are pulled in transitively. Maven picks the nearest version, which may not be the one you need. Fix by declaring the required version in dependencyManagement, excluding the unwanted transitive dependency with exclusions, or upgrading the library that brings the old version. Conflicts often appear as NoSuchMethodError or ClassNotFoundException at runtime.
28
What is the difference between hard and soft assertions?
Add a health check stage that pings dependencies before tests and marks the run as environment failure rather than test failure. For tests that do not need the real service, use stubs. Escalate with data on downtime frequency to the team owning the service. Keep a separate scheduled job for the real integration tests so pull requests are not blocked.
30
Tell me about a time a BDD conversation clarified a requirement before development started.
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.
Fluent page objects return objects from every action so a test reads like a sentence, for example new SearchPage(driver).searchFor("phone").filterByBrand("X").sortByPrice().firstResult(). It improves readability and models navigation. The risk is long chains that hide failures, so keep chains to a single journey and use clear method names that show which page you end on.
32
What is the difference between continuous delivery and continuous deployment?
In continuous delivery every change that passes the pipeline is ready to release, but a person approves the production deployment. In continuous deployment every passing change is released to production automatically. Continuous deployment requires very reliable automated tests and monitoring, because there is no manual check before users see the change.
33
How do you avoid page object classes becoming too large?
Split pages into components for repeated or complex areas, keep only user actions as public methods, move generic helpers to BasePage or utilities, and avoid one method per element. If a page has distinct modes like view and edit, use separate classes. Review page classes during code review and refactor when they cross a few hundred lines.
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.
36
In a hybrid Android app, driver.getContextHandles() returns only NATIVE_APP. Why?
The webview is probably not debuggable. Android only exposes a webview to automation when the app calls WebView.setWebContentsDebuggingEnabled(true), which developers usually enable only in debug builds, so ask for a debug or test build. Also wait until the webview screen is actually loaded before reading contexts. If the app uses Chrome custom tabs, that is a separate Chrome process, not a webview. Finally check that a compatible Chromedriver is available to Appium.
37
How do you take a screenshot on failure in TestNG?
Situation: our app had a drag-and-drop dashboard builder built on canvas. Task: automate the key layout flows. Action: I tried the Actions class, found canvas elements were not in the DOM, and worked with developers to expose test hooks and an API to verify saved layouts. Result: we automated the main flows reliably, combining a few UI actions with API checks.
39
What are JMeter listeners and why should you avoid most of them during a load run?
Listeners collect and display results, such as View Results Tree, Summary Report and Aggregate Report. Visual listeners keep every sample in memory and redraw graphs, which consumes a lot of CPU and RAM and can make JMeter itself the bottleneck. During real load runs disable them, run in non-GUI mode, write raw results to a JTL file and generate the HTML dashboard afterwards. Use View Results Tree only for debugging.
40
How do you handle environment-specific configuration?
Keep URLs and credentials in per-environment config files or variables, choose with a command-line parameter and never hard-code secrets.
Tips to crack the BNY Automation Testing interview
Learn what custody and asset servicing mean, since these are core BNY businesses and often discussed with candidates.
Revise Java or Python, SQL, OOP and DBMS concepts, and practise easy to medium coding problems.
Prepare a clear explanation of your projects, highlighting testing, documentation and teamwork, which suit regulated banking environments.
Keep a one-minute story ready for every project on your CV: problem, your part, tools, result.
Practise the hard questions on this page aloud; BNY interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the BNY Automation Testing interview?
Candidates usually go through 4 stages: Online assessment (aptitude + coding); Technical interview; Managerial round; HR round. The exact rounds change with the role, team, location and your experience, so confirm the process with the recruiter.
Which topics should I prepare for the BNY Automation Testing interview?
This practice set leans on Selenium WebDriver (8), REST Assured (6), Page Object Model (5), Appium Mobile Automation (4). Revise those first, then practise explaining one or two of your own projects end to end, because most BNY interviewers ask you to walk through real work.
Are these the exact questions asked at BNY?
No. These are curated practice questions that match the skills and difficulty usually tested in banking & finance interviews like BNY's. They are not a leaked or verified list of past questions.
Where does BNY hire Automation Testing professionals in India?
BNY has large teams in Pune, Chennai. Openings and locations change often, so check the BNY careers page and filter by city and experience.
Automation Testing questions for similar companies