100 Most Important Selenium Interview Questions
http://www.softwaretestingmaterial.com/selenium-interview-questions/
1. What is Automation Testing?
Automation testing is the process of testing the software using an automation tools to find the defects. In this process, executing the test scripts and generating the results are performed automatically by automation tools. Some most popular tools to do automation testing are HP QTP/UFT, Selenium WebDriver, etc.,
2. What are the benefits of Automation Testing?
Saves time and money. Automation testing is faster in execution.
Reusability of code. Create one time and execute multiple times with less or no maintenance.
Easy reporting. It generates automatic reports after test execution.
Easy for compatibility testing. It enables parallel execution in combination of different OS and browser environments.
Low cost maintenance. It is cheaper compared to manual testing in a long run.
Automated testing is more reliable.
Automated testing is more powerful and versatile.
It is mostly used for regression testing. Supports execution of repeated test cases.
Minimal manual intervention. Test scripts can be run unattended.
Maximum coverage. It helps to increase the test coverage.
3. What type of tests you have automated?
Our main focus is to automate test cases to do Regression testing, Smoke testing, and Sanity testing. Sometimes based on the project and the test time estimation, we do focus on End to End testing.
4. How many test cases you have automated per day?
It depends on Test case scenario complexity and length. I did automate 2-5 test scenarios per day when the complexity is limited. Sometimes just 1 or fewer test scenarios in a day when the complexity is high.
5. What is a Framework?
A framework defines a set of rules or best practices which we can follow in a systematic way to achieve the desired results. There are different types of automation frameworks and the most common ones are:
Data Driven Testing Framework
Keyword Driven Testing Framework
Hybrid Testing Framework
6. Have you created any Framework?
If you are a beginner: No, I didn’t get a chance to create a framework. I have used the framework which is already available.
If you are an experienced tester: Yes, I have created a framework. Or I have involved in the creation of the framework.
7. Can you explain the Framework which you have used in your Selenium Project?
Get ready with the answer how you have created your framework.
8. Why do you prefer Selenium Automation Tool?
Free and open source
Have large user base and helping communities
Cross browser compatibility
Platform compatibility
Multiple programming languages support
9. What is Selenium?
Selenium is an open source (free) automated testing suite to test web applications. It supports different platforms and browsers. It has gained a lot of popularity in terms of web-based automated testing and giving a great competition to the famous commercial tool HP QTP (Quick Test Professional) AKA HP UFT (Unified Functional Testing).
Selenium is a set of different software tools. Each tool has a different approach in supporting web based automation testing.
It has four components namely,
Selenium IDE (Integrated Development Environment)
Selenium RC (Remote Control)
Selenium WebDriver
Selenium Grid
10. What is Selenium IDE?
Selenium IDE (Integrated Development Environment) is a Firefox plugin. It is the simplest framework in the Selenium Suite. It allows us to record and playback the scripts. Even though we can create scripts using Selenium IDE, we need to use Selenium RC or Selenium WebDriver to write more advanced and robust test cases.
11. What is Selenese?
Selenese is the language which is used to write test scripts in Selenium IDE.
12. Which is the only browser that supports Selenium IDE to be used?
Firefox
13. What is Selenium RC?
Selenium RC AKA Selenium 1. Selenium RC was the main Selenium project for a long time before the WebDriver merge brought up Selenium 2. Selenium 1 is still actively supported (in maintenance mode). It relies on JavaScript for automation. It supports Java, Javascript, Ruby, PHP, Python, Perl and C#. It supports almost every browser out there.
14. What is Selenium WebDriver?
Selenium WebDriver AKA Selenium 2 is a browser automation framework that accepts commands and sends them to a browser. It is implemented through a browser-specific driver. It controls the browser by directly communicating with it. Selenium WebDriver supports Java, C#, PHP, Python, Perl, Ruby.
15. What is Selenium Grid?
Selenium Grid is a tool used together with Selenium RC to run tests on different machines against different browsers in parallel. That is, running multiple tests at the same time against different machines running different browsers and operating systems.
In simple words, it is used to distribute your test execution on multiple platforms and environments concurrently.
16. When do you use Selenium Grid?
Selenium Grid can be used to execute same or different test scripts on multiple platforms and browsers concurrently so as to achieve distributed test execution
17. What are the advantages of Selenium Grid?
It allows running test cases in parallel thereby saving test execution time.
It allows multi-browser testing
It allows us to execute test cases on multi-platform
18. What is a hub in Selenium Grid?
A hub is a server or a central point that controls the test executions on different machines.
19. What is a node in Selenium Grid?
Node is the machine which is attached to the hub. There can be multiple nodes in Selenium Grid.
20. What are the types of WebDriver APIs available in Selenium?
Firefox Driver
Gecko Driver
InternetExplorer Driver
Chrome Driver
HTML Driver
Opera Driver
Safari Driver
Android Driver
Iphone Driver
EventFiringWebDriver
21. Which WebDriver implementation claims to be the fastest?
The fastest implementation of WebDriver is the HTMLUnitDriver. It is because the HTMLUnitDriver does not execute tests in the browser.
22. What are the Programming Languages supported by Selenium WebDiver?
Java
C#
Python
Ruby
Perl
PHP
23. What are the Operating Systems supported by Selenium WebDriver?
Windows
Linux
Apple
24. What are the Open-source Frameworks supported by Selenium WebDriver?
JUnit
TestNG
Read: TestNG Complete Tutorial
25. What are the Locators available in Selenium?
Different types of locators are:
ID – Practical example
ClassName – Practical example
Name – Practical example
TagName – Practical example
LinkText – Practical example
PartialLinkText – Practical example
XPath – Practical example
CSS Selector – Practical example
Click here to see the detailed post on Locators.
26. What is an XPath?
XPath is used to locate the elements. Using XPath, we could navigate through elements and attributes in an XML document to locate web elements such as textbox, button, checkbox, Image etc., in a web page.
27. What is the difference between “/” and “//”
Single Slash “/” – Single slash is used to create XPath with absolute path i.e. the XPath would be created to start selection from the document node/start node.
Double Slash “//” – Double slash is used to create XPath with relative path i.e. the XPath would be created to start selection from anywhere within the document.
28. What is the difference between Absolute Path and Relative Path?
Absolute XPath starts from the root node and ends with desired descendant element’s node. It starts with top HTML node and ends with input node. It starts with a single forward slash(/) as shown below.
/html/body/div3/div1/form/table/tbody/tr1/td/input
/html/body/div3/div1/form/table/tbody/tr1/td/input
Relative XPath starts from any node in between the HTML page to the current element’s node(last node of the element). It starts with a single forward slash(//) as shown below.
//input@id='email'
//input@id='email'
29. What is the difference between Assert and Verify in Selenium?
It is one of the most important selenium interview questions. For detailed post check the below link.
Assert Vs. Verify
Assert: In simple words, if the assert condition is True then the program control will execute the next test step but if the condition is False, the execution will stop and further test step will not be executed.
Verify: In simple words, there won’t be any halt in the test execution even though the verify condition is True or False.
30. What are Soft Assert and Hard Assert in Selenium?
Soft Assert: Soft Assert collects errors during @Test Soft Assert does not throw an exception when an assert fails and would continue with the next step after the assert statement.
Hard Assert: Hard Assert throws an AssertException immediately when an assert statement fails and test suite continues with next @Test
Detailed Post: Soft Assert
31. What are the verification points available in Selenium?
In Selenium IDE, we use Selenese Verify and Assert Commands as Verification points
In Selenium WebDriver, there is no built-in features for verification points. It totally depends on our coding style. some of the Verification points are
To check for page title
To check for certain text
To check for certain element (text box, button, drop down, etc.)
32. How to launch a browser using Selenium WebDriver?
WebDriver is an Interface. We create Object of a WebDriver Interface.
To launch Firefox Driver:
WebDriver driver = new FirefoxDriver();
To launch Chrome Driver:
WebDriver driver = new ChromeDriver();
To launch Internet Explorer Driver:
WebDriver driver = new InternetExplorerDriver();
33. Is the FirefoxDriver a Class or an Interface?
FirefoxDriver is a Java class, and it implements the WebDriver interface.
34. What is the super interface of WebDriver?
SearchContext.
35. Explain the line of code Webdriver driver = new FirefoxDriver(); ?
Webdriver driver = new FirefoxDriver();
1
Webdriver driver = new FirefoxDriver();
‘WebDriver‘ is an interface and we are creating an object of type WebDriver instantiating an object of FirefoxDriver class.
36. We do create a reference variable ‘driver’ of type WebDriver
WebDriver driver = new FirefoxDriver();
instead of creating
FirefoxDriver driver = new FirefoxDriver();
WebDriver driver = new FirefoxDriver();
instead of creating
FirefoxDriver driver = new FirefoxDriver();
What is the purpose of doing this way?
f we create a reference variable driver of type WebDriver then we could use the same driver variable to work with any browser of our choice such as IEDriver, SafariDriver etc.,
37. What are the different exceptions you have faced in Selenium WebDriver?
WebDriverException
TimeoutException
NoAlertPresentException
NoSuchWindowException
NoSuchElementException
TimeoutException
38. How To Login Into Any Site If It Is Showing Any Authentication Pop-Up For Username And Password?
To do this we pass username and password with the URL
http://username:password@url
e.g. http://myUserName:myPassword@softwaretestingmaterial.com
http://username:password@url
e.g. http://myUserName:myPassword@softwaretestingmaterial.com
39. What are the types of waits available in Selenium WebDriver?
It is one of the most important selenium interview questions.
Implicit Waits – Click to view detailed post
Explicit Waits – Click to view detailed post
Fluent Waits – Click to view detailed post
40. What is Implicit Wait In Selenium WebDriver?
Implicit waits tell to the WebDriver to wait for a certain amount of time before it throws an exception. Once we set the time, WebDriver will wait for the element based on the time we set before it throws an exception. The default setting is 0 (zero). We need to set some wait time to make WebDriver to wait for the required time.
Practical example
41. What is WebDriver Wait In Selenium WebDriver?
WebDriverWait is applied on a certain element with defined expected condition and time. This wait is only applied to the specified element. This wait can also throw an exception when an element is not found.
Practical example
42. What is Fluent Wait In Selenium WebDriver?
FluentWait can define the maximum amount of time to wait for a specific condition and frequency with which to check the condition before throwing an “ElementNotVisibleException” exception.
Practical example
43. How to input text in the text box using Selenium WebDriver?
By using sendKeys() method
WebDriver driver = new FirefoxDriver();
driver.get("https://www.gmail.com");
driver.findElement(By.xpath("xpath")).sendKeys("selenium interview questions");
WebDriver driver = new FirefoxDriver();
driver.get("https://www.gmail.com");
driver.findElement(By.xpath("xpath")).sendKeys("selenium interview questions");
44. How to input text in the text box without calling the sendKeys()?
// To initialize js object
JavascriptExecutor JS = (JavascriptExecutor)webdriver;
// To enter username
JS.executeScript("document.getElementById(User').value='SoftwareTestingMaterial.com'");
// To enter password
JS.executeScript("document.getElementById('Pass').value='tester'");
// To initialize js object
JavascriptExecutor JS = (JavascriptExecutor)webdriver;
// To enter username
JS.executeScript("document.getElementById(User').value='SoftwareTestingMaterial.com'");
// To enter password
JS.executeScript("document.getElementById('Pass').value='tester'");
45. How to clear the text in the text box using Selenium WebDriver?
By using clear() method
WebDriver driver = new FirefoxDriver();
driver.get("https://www.gmail.com");
driver.findElement(By.xpath("xpath_of_element1")).sendKeys("selenium interview questions");
driver.findElement(By.xpath("xpath_of_element1")).clear();
WebDriver driver = new FirefoxDriver();
driver.get("https://www.gmail.com");
driver.findElement(By.xpath("xpath_of_element1")).sendKeys("selenium interview questions");
driver.findElement(By.xpath("xpath_of_element1")).clear();
46. How to get a text of a web element?
By using getText() method
package softwareTestingMaterial;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
public class TestTestTest {
@Test
public void testmethod(){
System.setProperty("webdriver.chrome.driver", "D:\\Selenium Environment\\Drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.google.com");
String availableText = driver.findElement(By.xpath("//*@id='gbw'/div/div/div1/div1/a")).getText();
System.out.println("Text Available is :"+availableText);
}
}
package softwareTestingMaterial;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
public class TestTestTest {
@Test
public void testmethod(){
System.setProperty("webdriver.chrome.driver", "D:\\Selenium Environment\\Drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.google.com");
String availableText = driver.findElement(By.xpath("//*@id='gbw'/div/div/div1/div1/a")).getText();
System.out.println("Text Available is :"+availableText);
}
}
47. How to get an attribute value using Selenium WebDriver?
By using getAttribute(value);
It returns the value of the attribute passed as a parameter.
HTML:
<input name="nameSelenium" value="valueSelenium">SoftwareTestingMaterial</input>
1
<input name="nameSelenium" value="valueSelenium">SoftwareTestingMaterial</input>
Selenium Code:
String attributeValue = driver.findElement(By.name("nameSelenium")).getAttribute("value");
System.out.println("Available attribute value is :"+attributeValue);
Output: valueSelenium
String attributeValue = driver.findElement(By.name("nameSelenium")).getAttribute("value");
System.out.println("Available attribute value is :"+attributeValue);
Output: valueSelenium
48. How to click on a hyperlink using Selenium WebDriver?
We use click() method in Selenium t