Filter interviews by
Top trending discussions
posted on 29 Apr 2022
I applied via Naukri.com
posted on 22 May 2021
There are several locators used in Selenium such as ID, Name, Class Name, Tag Name, Link Text, and Partial Link Text.
ID - unique identifier for an element
Name - name attribute of an element
Class Name - class attribute of an element
Tag Name - HTML tag name of an element
Link Text - exact text of a link element
Partial Link Text - partial text of a link element
Abstract classes are partially implemented classes while interfaces are fully abstract classes.
Abstract classes can have both implemented and abstract methods while interfaces can only have abstract methods.
A class can only inherit from one abstract class but can implement multiple interfaces.
Abstract classes can have constructors while interfaces cannot.
Abstract classes can have instance variables while interfaces can...
Different design techniques for QA automation
Data-driven testing
Keyword-driven testing
Behavior-driven development
Model-based testing
Exploratory testing
TakeScreenshot method in Selenium captures a screenshot of the current web page.
Create an object of the TakesScreenshot interface
Use the getScreenshotAs() method to capture the screenshot
Save the screenshot to a file or display it in the console
Overloading is having multiple methods with the same name but different parameters. Overriding is having a method in child class with the same name and signature as in parent class.
Overloading is compile-time polymorphism while overriding is runtime polymorphism
Overloading is used to provide different ways of calling the same method with different parameters
Overriding is used to provide a specific implementation of a m...
Selenium components for automation testing
Selenium WebDriver - main component for browser automation
Selenium IDE - record and playback tool for creating test cases
Selenium Grid - distribute tests across multiple machines
Selenium RC - deprecated component for browser automation
Selenium Server - used to run Selenium tests on remote machines
posted on 16 Jul 2021
I applied via Company Website and was interviewed in Jan 2021. There was 1 interview round.
I was interviewed in Jan 2025.
1. Explain about framework architecture and from that all questions derived. asked to write diagram and explain the structure.
2. Difference between class variable and instance variable.
3. what is ITestListener why used and when used in framework.
4. architecture of selenium 4 (geckodriver, chromium driver)
5. what is BDD and cucumber, how both are related to.
6. which kind of framework you go, either POM or Page factory for with testNg/junit?
7. asked to write query on sql joins and how you fetch the second lowest of salary from each department.
8. DDL, DML statements.
9. pathquery and query parameters differences(API)
10. How the responses you are validating in automation framework for Json response file.
11. status code of Https
12. serialization and deserialization difference
13. String Builder, String Buffer and String difference? which is better and which is safe to use.
14. Dropdown in selenium how you handle, how to check which is already selected?
15. multiple data provider in testng and how you pass parameter and how you retrive from excel sheet? Asked to write code!
16.what is flaky testing?
17.Asked to write first code of JDBC connecting establishment with framework.
18. Code execution: input ="aabbabcbb"; output = a:3 , b:5, c:1 like this if they give name also it should count. Tip : HashMap you can write the code.
19. Code execution: a[]={1,2,3,4,0,0,0} b={5,6,7} output need to print as remove all 0's from first array and replace 1,2,3,4 with 5,6,7 some crazy questions.
20. Git cmds and CI/CD tool.
1. asked about architecture and where you used oops concepts?
2. abstract class and interfaces
3. select drop down all options
4. find scrape links from webpage write the code
5. asked for writing xpath for any element random website.
6. asked about following-sibling, descendent and preceding-sibling, normalise-space locators.
7. jdbc connection code.
8. API JSON file - how you done validation in automation testing.
posted on 30 Jan 2025
I was interviewed in Dec 2024.
Basic quant and reasoning questions
Selenium MCQ
Java programs with MCQ
The driver is typically initialized in the setup method of a test automation framework.
Driver initialization is usually done in a setup method before test execution.
Commonly used methods for driver initialization include WebDriverManager, System.setProperty, and driver instantiation.
Example: WebDriverManager.chromedriver().setup();
Driver can be both static and non-static depending on the context of its usage.
Driver class can be static if it is used to initiate the WebDriver instance in a test automation framework.
Driver class can be non-static if it is used as an instance variable within a test class.
Static driver can be accessed directly without creating an object of the class.
Non-static driver requires an object of the class to be created befo
Static variables belong to the class itself, while non-static variables belong to instances of the class.
Static variables are shared among all instances of a class
Non-static variables are unique to each instance of a class
Static variables are initialized only once, at the start of the program
Non-static variables are initialized separately for each instance of the class
Static and non-static have their own disadvantages in QA automation testing.
Static methods cannot be overridden or inherited, making it difficult to create flexible test cases.
Non-static methods require an instance of the class to be created, which can lead to increased memory usage.
Static methods can lead to tight coupling between classes, making it harder to maintain and update the code.
Non-static methods may have de...
TestNG allows parallel execution of test cases to save time and improve efficiency.
TestNG provides the 'parallel' attribute in the testng.xml file to specify the level of parallelism for test execution.
Parallel execution can be achieved at the test level, class level, method level, or suite level.
TestNG also supports parallel execution of tests across multiple classes or suites using the 'parallel' attribute in the sui...
Parallel testing in TestNG allows running tests concurrently for faster execution.
Use 'parallel' attribute in testng.xml file to specify parallel execution mode.
Set 'parallel' attribute to 'methods', 'classes', or 'tests' based on the level of parallelism needed.
Example: <suite name='MySuite' parallel='tests'>
Use 'thread-count' attribute to specify the number of threads to use for parallel execution.
Parallel methods run multiple methods concurrently within a single test, while parallel tests run multiple tests concurrently.
Parallel methods execute multiple methods within a single test class concurrently.
Parallel tests execute multiple test classes concurrently.
Parallel methods are useful for speeding up the execution of a single test, while parallel tests are useful for running multiple tests faster.
Example: Runni...
Use Rest Assured to upload a file
Use the given file path to create a File object
Use MultiPartSpecBuilder to build the request with the file
Send the request using Rest Assured's given(), when(), and post() methods
The parameter for a POST method in Postman is typically sent in the request body.
Parameters are sent in the request body in key-value pairs
Parameters can be sent as form-data, x-www-form-urlencoded, or raw JSON
Example: {"key": "value"}
Cucumber knows the step definition file based on the annotations provided in the feature files.
Cucumber uses annotations like @Given, @When, @Then to map steps in feature files to corresponding step definition methods.
Step definition files are typically placed in a separate package or directory within the project structure.
Cucumber scans the project directory for step definition files based on the package structure and
Parameters used in cucumber are used to pass values to the step definitions in feature files.
Parameters are defined in feature files using < > syntax
Parameters can be passed to step definitions using Regular Expressions
Parameters can be used to make scenarios more reusable and dynamic
Datatable in Cucumber is used to pass multiple sets of data to a step definition in a scenario.
Datatables are defined using pipes (|) to separate values
Each row in the datatable represents a set of data passed to the step definition
Datatables can be used for parameterization and data-driven testing
Yes, I have created the test plan document at the start of the project.
Yes, I always create a test plan document at the beginning of a project to outline the testing approach and strategy.
The test plan document includes details on scope, objectives, resources, schedule, and test cases.
It helps in ensuring that all stakeholders are aligned on the testing process and expectations.
For example, in my previous project, I cr...
During the initial testing cycle of a project, focus is on establishing test cases, setting up test environments, and identifying potential issues.
Creating test cases based on requirements
Setting up test environments
Identifying potential issues and risks
Executing test cases and reporting defects
Collaborating with developers to resolve issues
Fibonacci sequence is a mathematical pattern where each number is the sum of the two preceding ones.
Fibonacci sequence is a series of numbers where each number is the sum of the two preceding ones.
The sequence starts with 1, 2, then each subsequent number is the sum of the two previous numbers (1+2=3, 2+3=5, 3+5=8, and so on).
This sequence is used in estimating because it reflects natural growth patterns found in natur
Testing matrix is a tool used to track test coverage and automation ROI is the return on investment from implementing automation testing.
Testing matrix is a visual representation of test cases, test scenarios, and their coverage across different platforms, browsers, devices, etc.
Automation ROI is the measure of the benefits gained from automation testing compared to the costs incurred in implementing and maintaining th...
posted on 25 Jan 2025
I was interviewed in Dec 2024.
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
I applied via Naukri.com and was interviewed in Sep 2024. There was 1 interview round.
A constructor is a special type of method in a class that is automatically called when an object of that class is created.
Constructors have the same name as the class they belong to
They are used to initialize the object's state or perform any necessary setup
Constructors can have parameters to customize the initialization process
Example: public class Car { public Car(String color) { this.color = color; } }
Yes, a static method can be overridden in Java using the concept of method hiding.
In Java, static methods cannot be overridden in the traditional sense like instance methods.
When a subclass defines a static method with the same signature as a static method in the superclass, it is called method hiding.
Method hiding does not follow polymorphism and is resolved at compile time based on the reference type.
Example: class...
Yes, a static local variable can be created inside a static method.
Yes, a static local variable can be declared inside a static method in programming languages like C++.
Static local variables retain their values between function calls.
Example: static void myStaticMethod() { static int count = 0; count++; }
String memory allocation is dynamic and depends on the length of the string.
String memory allocation is dynamic and can change based on the length of the string.
In Java, a String object is stored in the heap memory.
Each character in a String typically takes up 2 bytes of memory.
String objects in Java are immutable, meaning once a String object is created, it cannot be changed.
Yes, you can create a static method inside an abstract class or interface.
Static methods can be defined in interfaces since Java 8.
Static methods in interfaces are used for providing utility methods that are not tied to any specific instance of the interface.
Static methods in abstract classes can be used for common functionality that does not require an instance of the class.
The parent class of Java is the Object class.
All classes in Java are directly or indirectly derived from the Object class.
The Object class is the root class in Java's class hierarchy.
It provides methods that are common to all objects in Java, such as toString(), equals(), and hashCode().
Window Handles in Selenium are unique identifiers used to handle multiple browser windows in a Selenium test script.
Window Handles are unique alphanumeric strings assigned to each browser window opened by Selenium.
They are used to switch between different browser windows during a test script execution.
Window Handles can be obtained using getWindowHandles() method in Selenium.
Example: Set
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
Some of the top questions asked at the SDL Technologies India QA Engineer Automation QA.Selenium interview -
Cloud Engineer
17
salaries
| ₹5.8 L/yr - ₹15 L/yr |
Senior Software Engineer
10
salaries
| ₹10.9 L/yr - ₹21.1 L/yr |
Associate Cloud Support Engineer
7
salaries
| ₹4.3 L/yr - ₹5.8 L/yr |
Cloud Support Engineer
6
salaries
| ₹6 L/yr - ₹7 L/yr |
Information Technology Service Delivery Specialist
5
salaries
| ₹5.9 L/yr - ₹7.5 L/yr |
TCS
Accenture
Wipro
Cognizant