Some of the interview questions for Selenium are:
1) What is test automation or automation testing?
Automation testing enables the use of specialized tools to automate the execution of manually designed test cases without any human intervention. Automation testing tools can access the test data, controls the execution of tests and compares the actual result against the expected result. Consequently, generating detailed test reports of the system under test.
2) What are the advantages of automation testing?
- Automation testing supports both functional and performance test on an application.
- It supports the execution of repeated test cases.
- It facilitates parallel execution.
- It aids in testing a large test matrix.
- It improves accuracy because there are no chances of human errors.
- It saves time and money.
3) Name some of the commonly used Automation Testing tools that are used for Functional Automation.
- Quick Test Professional, provided by HP.
- Rational Robot, provided by IBM.
- Coded UI, provided by Microsoft.
- Selenium, open source.
- Auto It, Open Source.
4) Name some of the commonly used Automation Testing tools that are used for Non-Functional Automation.
- Load Runner, provided by Hp.
- JMeter, provided by Apache.
- Burp Suite, provided by PortSwigger.
- Acunetix, provided by Acunetix.
5) What is Selenium?
Selenium is one of the most widely used open source Web UI (User Interface) automation testing suite. Jason Huggins developed Selenium in 2004 as an internal tool at Thought Works. Selenium supports automation across different browsers, platforms, and programming languages.
6) What are the different components of Selenium?
Selenium is not just a single tool but a suite of software's, each having a different approach to support automation testing. It comprises of four major components which include:
- Selenium Integrated Development Environment (IDE)
- Selenium Remote Control (Now Deprecated)
- WebDriver
- Selenium Grid
8) What are the significant changes/upgrades in various Selenium versions?
Selenium v1.0:
- Version 1.0 was the initial release of Selenium.
- It included three tools: Selenium IDE, Selenium RC, and Selenium Grid.
Selenium v2.0:
- Selenium WebDriver was introduced replacing Selenium RC in version "2.0".
- With the onset of WebDriver, RC got deprecated and moved to the legacy package.
Selenium v3:
- The latest release Selenium 3 has new added features and functionalities.
- It includes Selenium IDE, Selenium WebDriver, and Selenium Grid.
9) List some of the test types that are supported by Selenium.
Selenium supports two types of testing:
- Functional Testing
- Regression Testing
- Sanity Testing
- Smoke Testing
- Responsive Testing
- Cross Browser Testing
- UI testing (black box)
- Integration Testing
10) What is Selenium IDE?
Selenium IDE is implemented as Firefox extension which provides record and playback functionality on test scripts. It allows testers to export recorded scripts in many languages like HTML, Java, Ruby, RSpec, Python, C#, JUnit and TestNG.
Selenium IDE has limited scope, and the generated test scripts are not very robust, and portable.
11) What do you mean by Selenese?
Selenium commands, also known as "Selenese" are the set of commands used in Selenium that run your tests. For example, command - open (URL); launches the desired URL in the specified browser and it accept both relative and absolute URLs.
A sequence of Selenium commands (Selenese) together is known as a test script.
12) What are the different ways of locating a web element in Selenium?
In Selenium, web elements are identified and located with the help of Locators. Locators specify a target location which uniquely defines the web element in the context of a web application. Thus, to identify web elements accurately and precisely we have different types of locators in Selenium:
- ID
- ClassName
- Name
- TagName
- LinkText
- PartialLinkText
- Xpath
- CSS Selector
- DOM
13) How many types of WebDriver API's are available in Selenium?
The list of WebDriver API's which are used to automate browser include:
- AndroidDriver
- ChromeDriver
- EventFiringWebDriver
- FirefoxDriver
- HtmlUnitDriver
- InternetExplorerDriver
- iPhoneDriver
- iPhoneSimulatorDriver
- RemoteWebDriver
14) List out some of the Automation tools which could be integrated with Selenium to achieve continuous testing.
Selenium can be used to automate functional tests and can be integrated with automation test tools such as Maven, Jenkins, &Docker to achieve continuous testing. It can also be integrated with tools such as TestNG, &JUnit for managing test cases and generating reports.
15) What do you mean by the assertion in Selenium?
The assertion is used as a verification point. It verifies that the state of the application conforms to what is expected. The types of assertion are "assert", "verify" and "waitFor".