Filter interviews by
I applied via LinkedIn and was interviewed in Feb 2024. There were 2 interview rounds.
I applied via Naukri.com and was interviewed in Nov 2024. There was 1 interview round.
Absolute Xpath starts from the root element, while relative Xpath starts from any node in the DOM structure.
Absolute Xpath starts with a single forward slash (/) and starts selection from the root node.
Relative Xpath starts with a double forward slash (//) and starts selection from the current node or any node in the DOM structure.
Absolute Xpath is more brittle and prone to breaking if the structure of the page changes...
The return would be the number of tabs open in the browser.
The return value would be an integer representing the count of open tabs.
For example, if there are 5 tabs open, the return value would be 5.
Types of waits in Selenium include Implicit Wait, Explicit Wait, and Fluent Wait.
Implicit Wait: Waits for a certain amount of time before throwing a NoSuchElementException.
Explicit Wait: Waits for a certain condition to occur before proceeding further in the code.
Fluent Wait: Waits for a condition to be true with a defined polling frequency.
Example: driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Exceptions in Selenium are errors that occur during test execution, disrupting the flow of the test script.
Exceptions are thrown when there is an unexpected behavior in the application under test or in the test script itself.
Common exceptions in Selenium include NoSuchElementException, ElementNotVisibleException, TimeoutException, and StaleElementReferenceException.
Handling exceptions in Selenium can be done using try-...
Feature files contain high-level description of the functionality to be tested, while step definitions are the implementation of the steps in the feature file using code.
Feature files are written in Gherkin syntax and describe the behavior of the application in plain text.
Step definitions are written in programming languages like Java, Ruby, etc., and map the steps in the feature file to automation code.
Feature files a...
Data can be input in Cucumber using feature files and step definitions.
Data can be input in feature files using scenarios and scenario outlines
Step definitions can be used to define the actions to be taken with the input data
Data tables can be used in feature files to input structured data
Examples keyword can be used in scenario outlines to provide multiple sets of input data
Test case is a set of conditions or variables under which a tester will determine whether a system under test satisfies requirements. Test plan is a document outlining the scope, approach, resources, and schedule of testing activities. Test scenarios are detailed descriptions of possible interactions with the system.
Test case: specific conditions to be tested, expected results, steps to execute
Test plan: overall strate...
Hooks in Java are methods that allow subclasses to override or extend the behavior of a superclass.
Hooks are commonly used in frameworks like JUnit and TestNG for test automation.
They are often used for setup and teardown operations before and after test methods.
Examples include @Before, @After, @BeforeClass, and @AfterClass annotations in JUnit.
I applied via Company Website and was interviewed in Nov 2024. There was 1 interview round.
Defect life cycle is the process of identifying, reporting, fixing, retesting, and closing defects in software development.
Defect identification: Defects are identified through testing or user feedback.
Defect reporting: Defects are reported in a defect tracking tool with details like steps to reproduce, severity, and priority.
Defect fixing: Developers fix the reported defects based on the information provided.
Defect re...
Black box testing focuses on functionality without knowledge of internal code, while white box testing examines internal code structure.
Black box testing tests the functionality of a system without knowledge of its internal code
White box testing tests the internal code structure and logic of a system
Black box testing is more focused on end-user perspective
White box testing is more focused on developer perspective
Exampl...
Hard assert stops the execution of the test case if it fails, while soft assert continues the execution and logs the failure.
Hard assert is used when the failure of a particular step makes the further steps irrelevant.
Soft assert is used when you want to continue with the test case execution even if some steps fail.
Hard assert is implemented using 'assert' keyword in testing frameworks like TestNG or JUnit.
Soft assert ...
Annotations in Selenium WebDriver are used to provide additional information about the test methods.
Annotations help in organizing and managing test cases
Some common annotations in Selenium WebDriver are @Test, @BeforeTest, @AfterTest, @BeforeClass, @AfterClass, @BeforeMethod, @AfterMethod
Annotations are used to define the sequence of execution of test methods
Use XPath to count the number of links with the text 'selenium'
Use XPath to locate all the links containing the text 'selenium'
Count the number of links found using the XPath expression
Use SQL query to display 60 pass and 40 fail from a table of students.
Use SELECT statement with COUNT function to count the number of pass and fail statuses.
Use WHERE clause to filter out pass and fail statuses.
Use GROUP BY clause to group the statuses together.
Use CASE statement to display the count of pass and fail statuses.
I applied via Naukri.com and was interviewed in Sep 2024. There was 1 interview round.
The output of the code will be 'animal is created' followed by 'Dog is created'.
The code defines a class Animal with a constructor that prints 'animal is created'.
It also defines a class Dog that extends Animal, with a constructor that prints 'Dog is created'.
In the main method, an instance of Dog is created, which will trigger the constructors of both Animal and Dog classes.
The output will be 'HelloThere'
Concatenation of 'Hello' and 'There' results in 'HelloThere'
The final string is printed using System.out.println()
The code creates a StringBuffer object with 'Hello' and appends 'There' to it before printing the final string.
StringBuffer is mutable, so the original 'Hello' string can be modified
The append() method adds the specified string to the end of the buffer
The final output will be 'HelloThere'
Option a is valid, option b is valid, option c is invalid.
Option a is valid because ChromeDriver is a subclass of WebDriver, so it can be assigned to a WebDriver reference.
Option b is valid because ChromeDriver is a subclass of WebDriver, so it can be instantiated using a WebDriver reference.
Option c is invalid because WebDriver is an interface and cannot be instantiated directly. It can only be used as a reference typ
Sort input array of strings in descending order without using inbuilt functions
Iterate through the array and compare each element with the rest to find the largest element
Swap the largest element with the first element, then repeat the process for the remaining elements
Continue this process until the array is sorted in descending order
findElement returns the first matching element on the page, while findElements returns a list of all matching elements.
findElement returns a single WebElement matching the locator provided
findElements returns a list of WebElements matching the locator provided
findElement will throw NoSuchElementException if no element is found, while findElements will return an empty list
getwindowhandle returns the handle of the current window, getwindowhandles() returns handles of all open windows
getwindowhandle returns a single window handle, while getwindowhandles() returns a set of window handles
getwindowhandle is used to switch between windows in Selenium WebDriver
Output type of getwindowhandle is String, while output type of getwindowhandles() is Set
String is immutable, while StringBuilder is mutable and more efficient for concatenating strings.
String is immutable, meaning its value cannot be changed once it is created.
StringBuilder is mutable, allowing for modifications to the string without creating a new object.
StringBuilder is more efficient for concatenating multiple strings as it does not create new objects each time.
Example: String str = "Hello"; StringBuil
The @BeforeMethod annotation is used to run a method before each test method in a class, while @BeforeTest is used to run a method before any test method in a test tag.
The @BeforeMethod annotation is specific to TestNG framework and is used to initialize test data before each test method.
@BeforeTest annotation is also specific to TestNG and is used to initialize test data before any test method in a test tag.
If a class...
posted on 10 Nov 2024
I applied via Naukri.com and was interviewed in Oct 2024. There was 1 interview round.
Code to count the occurrences of each letter in a string and print the result
Iterate through each character in the string
Use a dictionary to store the count of each letter
Print the count of each letter at the end
Appium server can be started using command line, programmatically in code, or using Appium desktop app.
Start Appium server using command line by running 'appium' command
Start Appium server programmatically in code using Appium server programmatically in code using AppiumDriverLocalService class
Start Appium server using Appium desktop app by launching the app and starting the server
Tests can be run parallel for mobile devices using test automation frameworks like Appium or Espresso.
Use test automation frameworks like Appium or Espresso to run tests parallel for mobile devices
Leverage cloud-based testing platforms like Sauce Labs or BrowserStack for parallel testing on multiple devices
Implement parallel test execution using tools like TestNG or JUnit in combination with Appium or Espresso
Utilize d...
Automating OTP in mobile involves using automation tools to interact with the OTP input field and validate the received OTP.
Use automation tools like Appium or Espresso to interact with the OTP input field
Extract the OTP from the message received on the mobile device
Validate the extracted OTP with the OTP input field
Handle scenarios where OTP validation fails
Desired capabilities are a set of properties or attributes that define the behavior of a browser or mobile device in Selenium automation testing.
Desired capabilities are key-value pairs that are used to configure the WebDriver instances in Selenium.
They can be used to set properties like browser name, version, platform, and other settings.
For example, setting 'browserName' to 'chrome' will launch the Chrome browser dur
To run tests on iOS or Android devices using Appium, specify the platformName capability in desired capabilities.
Specify platformName capability as 'iOS' for iOS devices and 'Android' for Android devices
Include other necessary desired capabilities like deviceName, platformVersion, appPackage, appActivity, etc.
Example: capabilities.setCapability('platformName', 'iOS');
Setting up automation for iOS devices involves using tools like Appium and Xcode for testing mobile applications.
Install Xcode on your Mac machine
Set up Appium for iOS automation
Connect your iOS device to the Mac machine
Create test scripts using Appium for iOS apps
Execute the test scripts on the connected iOS device
I applied via Company Website and was interviewed in Oct 2024. There was 1 interview round.
Java program to print sum of digits from a given string
Iterate through each character in the string
Check if the character is a digit using Character.isDigit() method
Convert the digit character to integer using Character.getNumericValue() method
Sum up all the digits found in the string
OOPs concepts used in the framework include inheritance, polymorphism, encapsulation, and abstraction.
Inheritance is used to create a parent-child relationship between classes. For example, a base class 'Page' can be inherited by 'HomePage' and 'LoginPage' classes.
Polymorphism allows objects of different classes to be treated as objects of a common superclass. For instance, a 'click' method can be implemented different...
Polymorphism is the ability of a single function or method to operate on different types of data.
Polymorphism allows objects of different classes to be treated as objects of a common superclass.
There are two types of polymorphism: compile-time (method overloading) and runtime (method overriding).
Example of compile-time polymorphism: function overloading in Java.
Example of runtime polymorphism: method overriding in Java
Java program to print the sum of elements in a string array.
Convert each element in the string array to an integer using Integer.parseInt()
Sum up all the integers to get the total sum
I was interviewed in May 2024.
Gherkin words are keywords used in Gherkin syntax for writing test scenarios in Behavior Driven Development (BDD).
Feature
Scenario
Given
When
Then
And
But
Plugins are used to extend the functionality of a software application.
Plugins are additional software components that can be added to an existing application to provide new features or functionalities.
They can be used to customize the behavior of the application without modifying its core code.
Examples of plugins include browser extensions, WordPress plugins, and Adobe Photoshop filters.
To run a runner class, you can use a test runner tool like JUnit or TestNG in your automation testing framework.
Use a test runner tool like JUnit or TestNG to execute the runner class
Add the @RunWith annotation in JUnit or specify the runner class in TestNG XML file
Make sure the runner class includes the necessary setup and teardown methods for test execution
TestNG allows running tests in parallel mode using groups and priorities.
Use 'parallel' attribute in testng.xml file to specify parallel mode (e.g.
Use 'groups' attribute in testng.xml file to group tests that should run in parallel (e.g.
Use 'priority' attribute in testng.xml file to specify the order in which tests should run (e.g.
Merge Sort is a divide and conquer algorithm that divides the input array into two halves, sorts them, and then merges them back together.
Divide the array into two halves recursively
Sort each half using Merge Sort recursively
Merge the sorted halves back together
Program to reverse a string using array of characters
Create an array of characters from the input string
Iterate through the array in reverse order and append each character to a new string
Return the reversed string
Data driven testing syntax using XSSF Workbook
Create XSSFWorkbook object
Get the sheet from the workbook
Iterate through rows and columns to fetch test data
Use test data in your test cases
posted on 24 Oct 2024
TCS
Accenture
Cognizant
Infosys