The following set of frequently asked interview questions have been compiled to help students and professionals preparing for Certified SDET professional courses, SDET Foundation Training, Certified SDET Architect courses. You can see the full set of SDET Interview questions here.
1. What is Selenium?
Selenium is an open-source automation testing tool used for testing web applications.
It is an open-source tool means it does not require any licensing cost and can be used with various browsers like Mozilla Firefox, Internet Explorer, Google Chrome, Safari or Opera.
The test scripts for Selenium can be written in various programming languages like Java, Python, C#, PHP, Ruby, Perl and .Net.
2. What are the advantages of Selenium?
The advantages of Selenium are as follows:
- It is an open-source tool.
- It supports multiple languages like Java, Python, Perl, C#, PHP, Ruby.
- It can operate and support across multiple Operating Systems like Windows, Mac, Linux, Unix, etc.
- It provides support across multiple browsers like Internet Explorer, Google Chrome, Mozilla Firefox, Opera, Safari, etc.
3. What are the limitations of Selenium?
The limitations of Selenium are as follows:
- It does not support testing of mobile applications.
- It is used for testing only web applications.
- It cannot test Captcha and Barcode readers.
- Reports can’t be generated directly through it.
- For generating reports, additional tools like TestNG or JUnit are used.
4. What is Selenese?
Selenese is the language that is used to write test scripts in Selenium IDE.
5. What are the different types of locators in Selenium?
The various locators in Selenium are as follows:
- Link text
- Partial Link Text
- Tag Name
- Class Name
- Xpath CSS Selector
6. What is the difference between Assert and verify commands?
Assert and Verify both are used to check whether the given condition is true or false.
In Assert command, if any condition fails then the execution will stop, and no further test steps will be executed.
But in Verify command, if any condition fails then the execution will not stop and all further test steps will be executed.
7. What is the difference between setSpeed() and sleep() method in Selenium?
setSpeed() method is used to delay every Selenium operation.
eg. setSpeed(“5000”): It will stop the execution for 5 seconds.
sleep() method is used to delay only a single operation where it is written.
eg. sleep(5000): It will wait for 5 seconds.
8. What is the use of Selenium Grid and how it works?
Selenium Grid is used to execute the same or different test scripts on various platforms and browsers parallelly. This helps in testing the application in different environments concurrently and hence saving the execution time.
Working of Selenium Grid:
Selenium Grid sent the tests to the hub(central server that controls the execution on different machines). These tests are then redirected to Selenium Web Driver, which launch the browser and run the test.
9. What is XPath?
XPath is called as XML Path. It is a syntax or language that provides a way to locate and process the elements in XML documents.
It is used in Selenium to uniquely identify any element on a webpage using HTML DOM structure
10. Explain Absolute and Relative XPath.
Absolute XPath: It is used to find the XPath directly by giving the exact path of the element as described in the HTML DOM structure.
If any change is done in the path of the element, then XPath will get fail. It begins with a single forward-slash(/), means that you can select the element starting from the root node.
Relative XPath: Relative XPath starts searching the matching element from anywhere in the HTML DOM structure. It begins with a double forward-slash(//), which means it can search the element anywhere in the page
11. What is the syntax of XPath?
//tagName[@attributeName = ‘attributeValue’]
for eg.: //input[@id = ‘txtUserName’]
12. What is the difference between findElement() and findElements()?
FindElement() returns only one Web Element.If there are more than 1 matches, then it will return first appearance in DOM.
If there is no such element present in the DOM, then it will throw ElementNotFound exception.
FindElements() returns the list of Web elements present in the webpage. If there is no such element present, then it will return the empty list and will not throw any exception.
13. What is the difference between Implicit Wait and Explicit Wait?
Implicit Wait: It is used to tell Web driver to wait for some certain amount of time while trying to find an element in DOM before throwing an exception.
It is applied to all Selenium commands.
Explicit Wait: It is used to tell the Web driver to wait for some extended amount of time for some specific search or till the time some specific condition is met. It is one-timer and is used for a particular search.
14. What are the different Exceptions present in Selenium Web driver?
The various exceptions in Selenium Webdriver are as follows:
15. What are the different ways to refresh browser using Selenium?
The different ways to refresh the browser are:
16. What are the different types of navigation commands?
The different types of navigation commands are:
17. What are the different ways to select a value in a dropdown?
The different ways to select a value in a dropdown are:
18. What is the difference between driver.close() and driver.quit() commands?
driver.close() is used to close only the current window that IWebDriver is controlling
driver.quit() is used to close all the windows opened by IWebDriver.
19. What is Single Slash(/) and Double Slash(//) in XPath?
Single Slash is used in Absolute XPath and it instructs the XPath Search Engine to start searching for element starting from the root node.
Double Slash is used in Relative XPath and it instructs the XPath Search Engine to search for matching element anywhere in the XML document.
20. How to use screen coordinates while using click command?
To click on any specific part of an element, clickAt command is used.
ClickAt command uses element locator and x,y coordinates as arguments-
21. How can you submit a form using Selenium?
submit() method on the element is used to submit a form.
22. How can you login in the site if it is showing any authentication pop-up for username and password?
We can login by passing the username and password with URL:
23. What is Object Repository?
Object Repository is used to store all the objects that are used in the scripts in one or more centralized location rather than scattered all over the test script.
The main advantage of using Object repository is to segregate all objects in one place.
If any locator value of any web element changes, then changes need to be done at only one place i.e. object repository rather than making changes in all test cases where that particular locator is used.
24. How double click can be performed using Selenium Webdriver?
We can perform double click by using Actions class.
Actions act= new Actions(driver);
25. How to get a text of a web element?
getText() method is used to get the text of a web element.
string text= driver.findElement(by.id(“Text”)).getText();
26. What are Soft Assert and Hard Assert in Selenium?
Soft Assert does not throw any exception if an assert statement fails and will continue to next step in the test after the assert statement.
Hard Assert throws an AssertException if an assert statement fails and will not continue with the further steps in the test.
27. What is Selenium Webdriver?
Webdriver is an API that is easy to explore and understand and helps us to make tests easier to read and maintain.
It is an interface that comes under org.openqa.selenium package of Selenium.
28. Is Webdriver class or an Interface?
Webdriver is an interface and comes under the org.openqa.selenium package of Selenium and a sub-interface of “SearchContext”.
30. How to launch a browser using Selenium WebDriver?
Browser is launched by creating an object of a required driver class such as FirefoxDriver, ChromeDriver, InternetExplorerDriver, etc.
Launching Chrome Driver:
WebDriver driver = new ChromeDriver();
Launching FireFox Driver:
WebDriver driver = new GeckoDriver();
Launching Internet Explorer Driver:
WebDriver driver = new InternetExplorerDriver();
31. What is the super interface of WebDriver?
“SearchContext” is the super interface of WebDriver.
32. What is frame and how can you switch between frames in Selenium?
The frame is an HTML document which is embedded inside HTML document.
To switch between frame, following Selenium command is used:
33. How can you switch back to main page from a frame?
defaultContent() method is used to switch back from a frame.
34. What are the various ways to switch between the frames?
The various ways to switch between frames are as follows:
- Switch to frame by Index: driver.switchTo().frame(0);
- Switch to Frame by Name: driver.switchTo().frame(“iframe”);
- Switch to Frame by Id: driver.switchTo().frame(“IF1”);
35. How can you find total number of frames in a web-page?
size() method is used to find the total number of frames in a web-page.
List<WebElements> ListItems = driver.findElements(By.tagName(“iFrame”));
No. of Frames = ListItems.size();
36. What is Select class in Selenium?
Select class is used to select the values in the dropdown or multi-select.
Select abc = new Select(driver.FindElement(By.Id(“ ”)));
37. How can you deselect any option from Multiselect?
To deselect any text from multiselect, deSelectByVisibleText() method is used.
38. How can you move to some element using Actions class?
To move any element, below Actions method is used:
WebElement abc = driver.FindElement(By.Id(“ “));
39. How to capture screenshots in Selenium?
To capture the screenshot, below code can be written:
File srcFile = ((RemoteWebDriver) driver).getScreenShotAs(OutputType.FILE);
File destFile = new file(“E:/screenshot.png”);
40. Can captcha and Barcode reader be automated using Selenium?
No, captcha and barcode reader can’t be automated using Selenium.
41. Can Selenium Webdriver test Mobile applications?
No, Selenium Webdriver can’t test mobile applications.
42. How to click on a hyperlink using linkText?
43. How can you type in a textbox using Selenium?
sendKeys() method is used to type a string in a textbox.
WebElement user = driver.FindElement(By.Id(“usrName”));
44. What are BreakPoints and StartPoints in Selenium?
BreakPoints: BreakPoint will stop the execution of code there only where it is inserted.
StartPoints: StartPoint is used to specify the point from where the execution should begin.
45. What is the difference between getWindowHandles() and getWindowHandle()?
getWindowHandles(): It returns the address of all the open windows initiated by driver.
Its return type is Set<String>.
getWindowHandle(): It returns the address of the current browser where the control is.
Its return type is string.
46. What is Selenium framework?
A framework is a code structure which helps to make code understanding and maintenance easy. With the framework, we can place the code and data separately which makes it easy to read and can be re-used as well.
can be re-used as well.
47. What are the different types of Selenium framework?
There are 3 types of Selenium framework:
- Data-driven Framework: In Data-driven framework, test- data is written in some external files like Excel, CSV or XML and that file is used for getting the test data.
- Keyword-driven Framework: In the keyword-driven framework, all the operations and instructions are written in some external file like Excel worksheet.
- Hybrid Framework: It takes advantage of both Keyword driven and Data-driven framework.
48. What is FluentWait in Selenium?
It defines the maximum amount of time to wait for a specific condition and frequency before throwing an ElementNotVisibleException exception.
Fluent Wait has pooling capacity. It means that after this particular time, it can check if the application is loaded and then it can move further without waiting for max time.
49. How can you get the text of alert pop-up in Selenium?
To get the text of alert pop-up, below statement is used:
50. How can you dismiss the alert pop-up in Selenium?
To dismiss the alert pop-up, below statement is used: