Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About Cyient hiring for Automation Testing roles
Cyient is an Indian engineering and technology solutions company that started in geospatial services and now covers aerospace, rail, communications, medical and utilities engineering. It provides product design, embedded software, network engineering and data services to global manufacturers and operators. In India it hires freshers and experienced engineers for design, software, testing, GIS and analytics roles at its delivery centres.
For Automation Testing roles, this Cyient practice set focuses most on API Testing and CI/CD (7), Selenium Grid & Docker (5), Cucumber and BDD (4), Selenium WebDriver (4). It has 17 easy, 22 medium, 1 hard questions, so you can start easy and work up to the harder ones.
Company type
IT services
Headquarters
Hyderabad, India
Main India offices
Hyderabad, Bengaluru, Noida
Cyient Automation Testing interview process
Online assessment (aptitude + technical MCQs)
Technical interview
Managerial round
HR round
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for CyientStart 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.
A callback where one system sends an HTTP request to another when an event occurs. Test with a mock receiver or tools such as webhook.site and verify the payload.
02
What is the difference between average, median and 95th percentile response time?
Average is the sum divided by count, so a few very slow requests can distort it. Median is the middle value, meaning half the requests were faster. The 95th percentile means 95 percent of requests were faster than that value, which reflects what most users experience including slow cases. SLAs are usually written on 90th, 95th or 99th percentiles because averages hide long tails that frustrate real users.
03
How do you start a standalone Chrome container and run your tests against it?
Run docker run -d -p 4444:4444 -p 7900:7900 --shm-size=2g selenium/standalone-chrome:latest, preferably with a pinned version tag instead of latest. It starts a mini Grid with one Chrome node. Point RemoteWebDriver to http://localhost:4444 with ChromeOptions and the tests run inside the container. Port 7900 lets you watch through noVNC. Stop it with docker stop when finished, or use --rm so it is removed automatically.
04
What is the difference between git merge and git rebase?
Merge combines branches by creating a merge commit, keeping the full history exactly as it happened. Rebase replays your commits on top of another branch, producing a straight, linear history without a merge commit. Rebase is good for tidying a local feature branch before a pull request; never rebase commits that others have already pulled, because it rewrites history.
Shift-left means testing earlier in the development cycle: reviewing requirements, writing acceptance criteria and test cases before coding, running unit and API tests on every commit, and giving developers fast feedback. Defects found early are cheaper to fix. In practice SDETs pair with developers, add tests to pull request pipelines and test APIs before the UI is built.
Runtime events that disrupt flow. Use try-catch-finally, throw, throws, and custom exceptions; checked exceptions must be handled while unchecked ones need not be.
08
What is a DataTable in Cucumber and how do you use it?
A DataTable passes a table written under a step into the step definition. You can read it as List<String>, List<Map<String,String>>, Map<String,String> or convert rows into objects with a @DataTableType method. For example a step that creates several users can take a table of name, role and email. Unlike Scenario Outline, a DataTable feeds data into one step and the scenario runs once.
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.
11
How do you mock an external API in automation tests?
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.
12
How do you run Selenium tests in Docker containers in CI?
Use official Selenium images, either standalone-chrome for simple runs or a Grid with hub and node containers via Docker Compose. The test container or Jenkins agent points RemoteWebDriver to http://selenium-hub:4444. Containers give the same browser version everywhere and are cleaned after each run. Add shm_size for Chrome stability and record videos for failed tests if needed.
Use a DriverManager with a ThreadLocal<WebDriver>, created in @BeforeMethod and removed in @AfterMethod. Page objects receive the driver through the constructor or get it from DriverManager.getDriver(). Constructor injection is cleaner and easier to test. Never store the driver in a static field shared by all threads, or parallel tests will control each other's browsers.
15
How do you watch a test running inside a Docker Selenium container?
The selenium node and standalone images include a VNC server and noVNC. Expose port 7900 and open http://localhost:7900 in a browser; the default password is secret, or set SE_VNC_NO_PASSWORD to skip it. You can also open the Grid UI on port 4444 and click the session's video icon. This is very useful for debugging tests that fail only inside the container, such as layout or focus problems.
16
What is the difference between a Docker image and a container?
An image is a read-only template that contains an operating system layer, software and configuration, for example selenium/standalone-chrome with Chrome and ChromeDriver installed. A container is a running instance of an image with its own process, network and writable layer. You can start many containers from one image and destroy them after a test run. This is why every run starts from the same clean browser environment.
17
A developer changed the UI and 40 tests failed with NoSuchElementException. How does POM help here?
Because locators live only in page classes, I check which page object methods fail, update the changed locators in those few classes, and rerun. Usually 40 failures map to two or three locators. I would also ask developers to add stable data-testid attributes and review UI changes with QA early, so future changes do not break tests unexpectedly.
18
What is the Optional class in Java and where is it useful in test code?
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.
19
How do you extract a value from one response and use it in the next request?
Use git revert <commit>, which creates a new commit that reverses the changes and keeps history intact, safe for shared branches. git reset moves the branch pointer backwards and is fine for local commits, but resetting and force-pushing a shared branch rewrites history and breaks teammates' clones. If force push is truly needed, use --force-with-lease and tell the team.
22
What is the difference between @BeforeTest and @BeforeMethod?
ChromeDriver starts and controls a browser on the same machine as the test. RemoteWebDriver sends the same WebDriver commands over HTTP to a remote endpoint, such as a Selenium Grid, a Docker container or a cloud provider, which starts the browser elsewhere. You pass the Grid URL and browser options, and the rest of the test code stays the same. ChromeDriver itself actually extends RemoteWebDriver.
24
Write a simple page object class for a login page.
public class LoginPage {
private final WebDriver driver;
private final By user = By.id("username");
private final By pass = By.id("password");
private final By submit = By.cssSelector("button[type='submit']");
public LoginPage(WebDriver driver) { this.driver = driver; }
public HomePage loginAs(String u, String p) {
driver.findElement(user).sendKeys(u);
driver.findElement(pass).sendKeys(p);
driver.findElement(submit).click();
return new HomePage(driver);
}
}
25
How do you handle an element inside a shadow DOM in Selenium 4?
Find the shadow host element, then call getShadowRoot() to get a SearchContext, and search inside it with CSS selectors: driver.findElement(By.cssSelector("my-app")).getShadowRoot().findElement(By.cssSelector("#submit")). XPath does not work inside shadow roots. For nested shadow roots, repeat the step for each host. Closed shadow roots cannot be accessed this way.
26
How do you validate a JSON response in REST Assured?
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.
28
How do you validate a response against a JSON schema in REST Assured?
Add the json-schema-validator dependency, place the schema file in src/test/resources, and assert with then().body(matchesJsonSchemaInClasspath("user-schema.json")). Schema validation checks field types, required fields and structure, so it catches contract changes that value checks might miss. It complements, not replaces, assertions on business values like status or totals.
BasePage is a parent class for all page objects holding common things: the driver reference, a WebDriverWait, and helper methods such as click with wait, type, getText, waitForVisible and scrollIntoView. Child pages extend it and stay focused on page-specific locators and actions. Keep it small; if it grows into hundreds of methods, move helpers into separate utility classes using composition.
final makes a variable, method or class unchangeable; finally is a block that always runs after try-catch; finalize is a deprecated method called before garbage collection.
31
What is the difference between native, hybrid and mobile web apps from a testing point of view?
A native app is built with platform SDKs and is tested through native locators like accessibility id or resource-id. A mobile web app runs in the device browser, so you automate it much like desktop Selenium with mobile Chrome or Safari. A hybrid app wraps web content inside a native shell, so tests switch between the NATIVE_APP context and a WEBVIEW context. Knowing the type decides your driver, locators and setup.
32
Your API tests started failing with SSL handshake errors on a new test server. What do you do?
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.
33
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.
Common triggers are webhooks from GitHub, GitLab or Bitbucket on push or pull request, cron schedules with triggers { cron('H 2 * * *') } for nightly regression, polling SCM (less efficient), and upstream jobs completing, such as running tests after a deploy job. Multibranch pipelines automatically create jobs for each branch and pull request containing a Jenkinsfile.
Selenium 4 exposes CDP through the DevTools interface and the newer cross-browser BiDi APIs. Testers can capture console logs and JavaScript errors, intercept or mock network requests, emulate slow networks or geolocation, add basic authentication headers and collect performance metrics. CDP is Chromium-specific and tied to browser versions, so for long-term code prefer WebDriver BiDi features where available, and keep CDP usage behind a small helper class.
38
What is the execution order of TestNG annotations?
Add the rerun plugin, for example rerun:target/failed.txt, to the main runner. It writes the location of each failed scenario. Create a second runner whose features point to @target/failed.txt and run it after the main run in Maven or Jenkins. Use reruns to separate real failures from flaky ones, but track flaky scenarios and fix them instead of hiding them.
Tips to crack the Cyient Automation Testing interview
Revise fundamentals of your engineering branch, since Cyient roles often mix domain engineering knowledge with software or data skills.
Practise basic programming, SQL queries and simple aptitude problems, which commonly feature in the first screening stage.
Learn about Cyient business units such as aerospace, rail and geospatial to explain which area interests you and why.
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; Cyient interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the Cyient Automation Testing interview?
Candidates usually go through 4 stages: Online assessment (aptitude + technical MCQs); 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 Cyient Automation Testing interview?
This practice set leans on API Testing and CI/CD (7), Selenium Grid & Docker (5), Cucumber and BDD (4), Selenium WebDriver (4). Revise those first, then practise explaining one or two of your own projects end to end, because most Cyient interviewers ask you to walk through real work.
Are these the exact questions asked at Cyient?
No. These are curated practice questions that match the skills and difficulty usually tested in it services interviews like Cyient's. They are not a leaked or verified list of past questions.
Where does Cyient hire Automation Testing professionals in India?
Cyient has large teams in Hyderabad, Bengaluru, Noida. Openings and locations change often, so check the Cyient careers page and filter by city and experience.
Automation Testing questions for similar companies