Selenium Automation Tester
60+ Selenium Automation Tester Interview Questions and Answers
Q1. How to get the count of all text box in a web page?
Use Selenium WebDriver to find and count all text boxes on a web page.
Use Selenium WebDriver to locate all text boxes on the web page
Use findElements method with input tag and type attribute as text to find all text boxes
Get the size of the list of elements to get the count of text boxes
Test Stub simulates the behavior of a module that a component depends on, while Test Driver controls the execution of the test case.
Test Stub is used to simulate the behavior of a module that a component depends on.
Test Driver is used to control the execution of the test case and interact with the component being tested.
Test Stub provides canned answers to calls made during the test, while Test Driver initiates the test execution.
Example: In a banking application, if the modu...read more
Selenium is a popular choice for web application testing due to its open-source nature, cross-browser compatibility, and robust automation capabilities.
Selenium is open-source, making it cost-effective for organizations.
Selenium supports multiple programming languages like Java, Python, and C#, providing flexibility to automation testers.
Selenium offers cross-browser compatibility, allowing tests to be run on different browsers like Chrome, Firefox, and Safari.
Selenium provid...read more
To run a selected test from a group of tests in Cucumber, you can use tags to specify which test to run.
Add tags to the scenarios in your feature files
Use the @CucumberOptions annotation in your test runner class to specify the tags to include or exclude
Run the test using the test runner class with the specified tags
STLC is a systematic approach to software testing that defines the testing process from start to finish.
STLC consists of phases like requirement analysis, test planning, test design, test execution, and test closure.
Each phase has specific goals and deliverables to ensure the quality of the software.
STLC helps in identifying defects early in the development cycle, reducing the cost of fixing them later.
It ensures that the software meets the specified requirements and is ready...read more
Best practices in test automation include proper planning, maintenance, collaboration, and continuous improvement.
Create a solid test automation strategy before starting automation efforts.
Use version control to manage test scripts and ensure traceability.
Regularly review and update test scripts to maintain relevance and accuracy.
Collaborate with developers and other team members to align automation efforts with development cycles.
Implement continuous integration to run autom...read more
Share interview questions and help millions of jobseekers 🌟
A test automation framework consists of different components that help in organizing and executing automated tests efficiently.
Test scripts: Actual test cases written in a programming language like Java or Python.
Test data: Input data required for executing the test cases.
Test environment: Configuration settings for executing tests on different platforms.
Reporting: Generation of test reports to analyze test results.
Logging: Recording of events and activities during test execu...read more
JUnit annotations like @Before, @Test, @After are used in Selenium for setup, execution, and teardown of test cases.
Annotations like @Before are used to set up preconditions before each test method is executed.
Annotations like @Test are used to mark a method as a test method.
Annotations like @After are used to clean up after each test method is executed.
Annotations like @BeforeClass and @AfterClass are used for setup and teardown tasks that need to be performed once for the e...read more
Selenium Automation Tester Jobs
Q9. How to reduce execution time in selenium?
To reduce execution time in Selenium, optimize test scripts, use efficient locators, and run tests in parallel.
Optimize test scripts by removing unnecessary steps and reducing wait times
Use efficient locators such as CSS selectors instead of XPath
Run tests in parallel using tools like Selenium Grid or TestNG
Use headless browsers like PhantomJS to speed up tests
Use page object model to reduce code duplication and improve maintainability
BDD is a software development approach that encourages collaboration between developers, testers, and business stakeholders.
BDD focuses on defining the behavior of a system through examples in plain text
Uses a common language (like Gherkin syntax) to describe the expected behavior
Tests are written in a way that they can be easily understood by non-technical stakeholders
Promotes communication and collaboration between different team members
Selenium is a testing framework for web applications, while Cucumber is a tool for behavior-driven development.
Selenium is a testing framework used for automating web applications, while Cucumber is a tool for behavior-driven development (BDD).
Selenium supports multiple programming languages like Java, Python, etc., while Cucumber uses Gherkin syntax for writing test cases.
Selenium focuses on automating the testing process, while Cucumber focuses on collaboration between deve...read more
Automating CAPTCHA testing involves using third-party services or implementing custom solutions.
Use third-party services like 2Captcha or Anti-Captcha to solve CAPTCHAs programmatically.
Implement custom solutions using image recognition libraries like OpenCV to identify and solve CAPTCHAs.
Integrate CAPTCHA solving functionality into your Selenium automation scripts for seamless testing.
Selenium has four main components: Selenium IDE, Selenium WebDriver, Selenium Grid, and Selenium RC.
Selenium IDE: Record and playback tool for creating test cases.
Selenium WebDriver: Automation tool for writing test scripts in various programming languages.
Selenium Grid: Tool for running tests on multiple machines in parallel.
Selenium RC (Remote Control): Deprecated component for running tests on different browsers.
Q14. Difference between Scenario & Scenario Outline in Cucumber?
Scenario is a single test case while Scenario Outline is a template for multiple test cases.
Scenario is a single test case that describes a particular behavior of the system
Scenario Outline is a template for multiple test cases with placeholders for input values
Scenario Outline uses Examples table to provide input values for each test case
Scenario Outline reduces code duplication and makes test cases more maintainable
Data flow testing is a type of white box testing that focuses on the paths that data takes through the application.
It involves tracing the flow of data through the application to identify any potential issues or errors.
Data flow testing helps in ensuring that data is processed correctly and efficiently.
Examples of data flow testing techniques include control flow testing, data dependency testing, and variable definition testing.
Grouping in Cucumber allows for organizing related scenarios into logical groups for better management and execution.
Grouping helps in organizing related scenarios together for better readability and maintenance.
Tags are used to group scenarios in Cucumber.
Grouping allows for running specific sets of scenarios based on tags.
Grouping can be used to run scenarios in parallel or sequentially.
Example: @smokeTest tag can be used to group all smoke test scenarios together.
Q17. How to upload resume using Selenium
To upload resume using Selenium, use sendKeys() method to locate the file input element and pass the file path.
Locate the file input element using any of the locators like id, name, class, etc.
Use sendKeys() method to pass the file path to the file input element.
Click on the submit button to upload the file.
Q18. 1. Difference between overloading and Overriding 2. Explain POM and it's Advantage 3. Is Java pure object oriented programming language? 4. can we override constructor? 5. have you used overriding and overloadi...
read moreAnswers to common interview questions for Selenium Automation Tester position
Overloading is when a class has multiple methods with the same name but different parameters, while overriding is when a subclass provides a specific implementation for a method that is already defined in its superclass.
POM (Page Object Model) is a design pattern in Selenium automation testing where web pages are represented as classes, and the web elements on the page are defined as variables within...read more
Q19. Difference between red only and constants?
Red only is a type of constant used in Selenium to locate web elements based on their color.
Red only is used to locate elements that have a specific color, such as a red button.
Constants are variables that hold a fixed value and are used in Selenium to make code more readable and maintainable.
Red only is a type of constant that holds the value 'red' and is used in conjunction with other locators, such as ID or class name.
Boundary value analysis is a software testing technique used to identify errors at boundaries of input ranges.
It involves testing the boundaries of input ranges, including minimum, maximum, and just beyond the boundaries.
Helps in identifying errors that may occur at the edges of input values.
Example: If a system accepts values from 1 to 100, boundary value analysis would test inputs like 0, 1, 100, and 101.
It is a black-box testing technique that focuses on the input domain o...read more
Q21. 1)Diff between continue and break ? 2)what is maven3)write code for extent report
1) continue - skips the current iteration and continues with the next iteration in a loop. break - exits the loop immediately. 2) Maven is a build automation tool used primarily for Java projects. 3) Extent Report is a reporting library for Selenium test automation.
continue statement is used to skip the current iteration and continue with the next iteration in a loop
break statement is used to exit the loop immediately
Maven is a build automation tool that manages project depen...read more
Q22. Explain implicit and explicit wait?
Implicit wait is a global wait applied to all elements, while explicit wait is a specific wait applied to a particular element or condition.
Implicit wait is set once and applied to all elements in the script
Explicit wait is set for a specific element or condition
Implicit wait is defined at the driver level
Explicit wait is defined at the element level
Implicit wait is used to wait for elements to appear on the page
Explicit wait is used to wait for a specific condition to occur
I...read more
Q23. 5.How to do right click using Selenium?
To perform right click using Selenium, we can use the Actions class and its contextClick() method.
Create an instance of Actions class
Use the contextClick() method to perform right click
Pass the WebElement on which right click needs to be performed as argument
Use build() and perform() methods to execute the action
Q24. How many types of locators, type of xpath
There are 8 types of locators in Selenium: ID, Name, Class Name, Tag Name, Link Text, Partial Link Text, CSS Selector, XPath.
ID - locates elements by their ID attribute
Name - locates elements by their Name attribute
Class Name - locates elements by their Class attribute
Tag Name - locates elements by their HTML tag name
Link Text - locates elements by the exact text of a link
Partial Link Text - locates elements by a partial match of the link text
CSS Selector - locates elements u...read more
Q25. Code: take your name as input and print every letter separately and if any vowel is repeated print those vowels.
The code takes a name as input, prints each letter separately, and identifies repeated vowels.
Create a function that takes a string input for the name
Iterate through each letter in the name and print it separately
Track the vowels and check for repetitions to print repeated vowels
Q26. Explain collections, Framework used?
Collections are used to store and manipulate groups of objects. Frameworks used in Selenium automation testing include TestNG, JUnit, and Cucumber.
Collections are used to store and manipulate groups of objects
Frameworks used in Selenium automation testing include TestNG, JUnit, and Cucumber
Q27. How to drag and drop using Selenium
To drag and drop using Selenium, we can use the Actions class and its dragAndDrop() method.
Create an instance of Actions class
Use the dragAndDrop() method to specify the source and target elements
Perform the action using the build() and perform() methods
Q28. Given a set of strings, swap pair of character in each string. Eg “Selenium Automation Testing” should print as “eselinmu uaotamitno ettsnig”
Swap pair of characters in each string of an array of strings.
Iterate through each string in the array
For each string, swap pairs of characters by iterating through the string with a step of 2
Return the modified array of strings
Protractor is an end-to-end test framework for Angular and AngularJS applications.
Protractor is built on top of WebDriverJS and uses Jasmine for test syntax.
It is specifically designed to test Angular and AngularJS applications.
Protractor can interact with elements on the page using locators like model, binding, repeater, etc.
It supports both synchronous and asynchronous testing.
Protractor can handle Angular-specific tasks like waiting for Angular to finish rendering before i...read more
Q30. Given a set of strings, find out the duplicate characters for the entire list of strings.
Find duplicate characters in a set of strings.
Iterate through each string in the array.
For each string, iterate through each character and store them in a hashmap with their frequency.
Identify characters with frequency greater than 1 as duplicates.
Q31. how to extend thread class in java
To extend Thread class in Java, we need to create a new class and inherit it from the Thread class.
Create a new class and inherit it from the Thread class
Override the run() method to define the task that the thread will perform
Instantiate the new class and call the start() method to start the thread
Q32. How to achieve multiple inheritance in java
Multiple inheritance is not supported in Java due to the Diamond Problem, but can be achieved using interfaces.
Java does not support multiple inheritance of classes due to the Diamond Problem
Multiple inheritance can be achieved in Java using interfaces
Create multiple interfaces with desired methods and implement them in a single class
Q33. 4.How do you catch exception?
To catch exceptions, we use try-catch block in our code.
Wrap the code that may throw an exception in a try block.
Catch the exception in a catch block and handle it appropriately.
Multiple catch blocks can be used to handle different types of exceptions.
Finally block can be used to execute code regardless of whether an exception was thrown or not.
Q34. Background keyword in Cucumber? Use of it?
Background keyword is used to define steps that are common to all scenarios in a feature file.
Background keyword is used to reduce code duplication in feature files.
It is defined at the beginning of a feature file, before any scenarios.
Steps defined in the background section are executed before each scenario in the feature file.
It is useful for setting up preconditions or initializing data that is required for all scenarios.
Example: Given a user is logged in, When they naviga...read more
Q35. How to configure jenkins?
Jenkins can be configured by installing plugins, creating jobs, setting up build triggers, and configuring global settings.
Install necessary plugins for required functionality
Create jobs for each project with build steps and post-build actions
Set up build triggers such as polling or webhook
Configure global settings such as security and email notifications
Use Jenkinsfile for pipeline as code
Example: Install Git plugin, create a job with build step to clone repository, set up w...read more
Q36. How to read properties File How to take screenshot
To read properties file, use Java Properties class. To take screenshot, use Selenium WebDriver's TakesScreenshot interface.
To read properties file, create an object of Properties class and load the file using FileInputStream.
To take screenshot, cast WebDriver object to TakesScreenshot and call getScreenshotAs method.
Q37. 2.OOps concepts in your framework
Object-oriented programming concepts are used in our framework.
Encapsulation is used to hide implementation details and expose only necessary information.
Inheritance is used to reuse code and create a hierarchy of classes.
Polymorphism is used to allow objects of different classes to be treated as if they are of the same class.
Abstraction is used to simplify complex systems by breaking them down into smaller, more manageable parts.
Examples include creating classes for pages, e...read more
Q38. What is explicit and implicit wait
Explicit wait is defined by the user to wait for a certain condition to be met before proceeding, while implicit wait is set globally for the entire test script.
Explicit wait is used for specific elements and conditions, like waiting for an element to be clickable or visible.
Implicit wait is set once at the beginning of the test script and is applied to all elements, waiting for a specified amount of time before throwing an exception.
Explicit wait provides more control and fl...read more
Q39. Explain interface
An interface is a contract between two entities that defines the communication between them.
An interface defines a set of methods that a class must implement.
It provides a way to achieve abstraction and loose coupling.
Interfaces can be used to achieve multiple inheritance in Java.
Example: Java's Comparable interface defines a method to compare objects.
Example: Selenium WebDriver interface defines methods to interact with web elements.
Q40. What is assert in TestNG?
Assert is a TestNG keyword used to verify the expected and actual results of a test case.
Assert is used to validate the expected output of a test case
If the expected and actual results do not match, the test case fails
Assert can be used for various types of validations such as checking for equality, null values, exceptions, etc.
Examples: assertEquals, assertNull, assertTrue, etc.
Q41. BDD and cucumber framework with selenium
BDD and Cucumber are frameworks used for behavior-driven development and test automation respectively with Selenium.
BDD is a collaborative approach to software development that involves stakeholders in the process
Cucumber is a tool that supports BDD by allowing stakeholders to write scenarios in plain language
Selenium is a popular tool for automating web browsers
Cucumber can be integrated with Selenium to automate tests based on BDD scenarios
Q42. Difference between findElement and findElements.
findElement returns the first matching element on the web page, while findElements returns a list of all matching elements.
findElement returns a single WebElement matching the specified locator, while findElements returns a list of WebElements.
findElement throws NoSuchElementException if no matching element is found, while findElements returns an empty list.
Example: WebElement element = driver.findElement(By.id("username"));
Example: List
elements = driver.findElements(By.clas...read more
Q43. Write code to read excel file
Code to read excel file in Selenium
Use Apache POI library to read excel files in Selenium
Create a FileInputStream object to read the excel file
Use WorkbookFactory to create a Workbook object from the FileInputStream
Iterate through the rows and cells of the excel sheet to read data
Q44. 1. Find the second non repetitive character
The second non-repetitive character is to be found in a given array of strings.
Iterate through each character in the strings and count their occurrences
Identify the characters that occur only once
Return the second non-repetitive character
Q45. Largest number in array, Java program
Java program to find the largest number in an array of strings
Convert each string element in the array to an integer using Integer.parseInt()
Initialize a variable to store the largest number and compare each element to update it
Return the largest number found in the array
Q46. write xpath for makemy trip application
XPath for locating elements on MakeMyTrip application
Use unique attributes like id, class, name, etc. to create XPath
Avoid using indexes in XPath as they can be unreliable
Use contains() and starts-with() functions for dynamic attributes
Consider using parent-child relationships for complex structures
Q47. Define SDLC in software Testing
SDLC stands for Software Development Life Cycle, which is a process followed by software development teams to design, develop, and test high-quality software.
SDLC is a structured approach to software development that involves planning, designing, building, testing, and deploying software.
It consists of several phases, including requirements gathering, design, development, testing, deployment, and maintenance.
Each phase has its own set of activities and deliverables, which mus...read more
Q48. Java program for reverse number
Java program to reverse a number
Convert the number to a string
Use StringBuilder to reverse the string
Convert the reversed string back to a number
Q49. What is Fluent Wait?
Fluent Wait is a dynamic wait mechanism in Selenium that waits for a certain condition to be met before proceeding.
Fluent Wait is used to define the maximum amount of time to wait for a condition, as well as the frequency with which to check the condition.
It can be customized with different polling intervals and exceptions to ignore.
Example: WebDriverWait wait = new WebDriverWait(driver, 10); wait.pollingEvery(Duration.ofSeconds(2)); wait.ignoring(NoSuchElementException.class...read more
Q50. HTTP error code : 203 ?
HTTP error code 203 indicates that the server successfully processed the request, but is returning information that may be from another source.
HTTP 203 is a non-standard error code that is not defined in the HTTP/1.1 standard.
It is typically used to indicate that the server successfully processed the request, but is returning information from a different source.
This status code is not commonly used and may not be supported by all servers or clients.
Interview Questions of Similar Designations
Top Interview Questions for Selenium Automation Tester Related Skills
Interview experiences of popular companies
Calculate your in-hand salary
Confused about how your in-hand salary is calculated? Enter your annual salary (CTC) and get your in-hand salary
Reviews
Interviews
Salaries
Users/Month