Top Interview Questions & Answers | Learn Now

Selenium Interview Questions and Answers For Experienced

Written by Anuradha | Mar 27, 2018 6:43:01 AM

Q1. What are the annotations used in TestNG?

Ans:@Test@BeforeSuite,@AfterSuite,@BeforeTest,@AfterTest, @BeforeClass, @AfterClass, @BeforeMethod, @AfterMethod, @BeforeGroups, @AfterGroups

Q2. What is a hub in Selenium Grid?
Ans: A hub is a server or a central point that controls the test executions on different machines.

Q3. How do you read data from excel?

Ans: FileInputStream fis = new FileInputStream (“path of excel file”);

Workbook wb = WorkbookFactory.create (fis);

Sheet s = wb.getSheet (“sheetName”)

String value = s.getRow (rowNum).getCell (cellNum).getStringCellValue ();

Q4. What is a node in Selenium Grid?

Ans: Node is the machine which is attached to the hub. There can be multiple nodes in Selenium Grid.

Q5. What are Soft Assert and Hard Assert in Selenium?

Ans: 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 Assert Exception immediately when an assert statement fails and test suite continues with next @Test

Q6. What are the verification points available in Selenium?

Ans: 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.)

Q7. What is POM (Page Object Model)? What are its advantages?

Ans: Page Object Model is a design pattern for creating an Object Repository for web UI elements. Each web page in the application is required to have it’s own corresponding page class. The page class is thus responsible for finding the Web Elements in that page and then perform operations on those Web Elements. The advantages of using POM are: Allows us to separate operations and flows in the UI from Verification – improves code readability Since the Object Repository is independent of Test Cases, multiple tests can use the same Object Repository Reusability of code

Q8. How to launch a browser using Selenium WebDriver?

Ans: WebDriver is an Interface. We create Object of a WebDriver Interface.

<2.53 – no geckodriver

3.x – geckodriver for FF

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();

Q9. Is the FirefoxDriver a Class or an Interface? 

Ans: FirefoxDriver is a Java class, and it implements the WebDriver interface.

Q10. What is the super interface of WebDriver?

Ans: SearchContext.

Q11. What is Page Factory?

Ans: Page Factory gives an optimized way to implement Page Object Model. When we say it is optimized, it refers to the fact that the memory utilization is very good and also the implementation is done in an object oriented manner. Page Factory is used to initialize the elements of the Page Object or instantiate the Page Objects itself. Annotations for elements can also be created (and recommended) as the describing properties may not always be descriptive enough to differentiate one object from the other. The concept of separating the Page Object Repository and Test Methods is followed here also. Instead of having to use ‘FindElements’, we use annotations like: @FindBy to find WebElement, and initElements method to initialize web elements from the Page Factory class. @FindBy can accept tagName, partialLinkText, name, linkText, id, css, className & xpath as attributes. Since the Object Repository is independent of Test Cases, multiple tests can use the same Object Repository Reusability of code

Q12. Explain the line of code Webdriver driver = new FirefoxDriver(); ?

Ans: ‘WebDriver‘ is an interface and we are creating an object reference of type WebDriver instantiating an object of FirefoxDriver class.

Q13. We do create a reference variable ‘driver’ of type WebDriver

Ans: 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.,

//FirefoxDriver driver = new FirefoxDriver();

ChromeDriver driver = new ChromeDriver();

driver.get(“http://www.google.com”);

WebDriver driver = new FirefoxDriver();

Q14. What are the different exceptions you have faced in Selenium WebDriver?

Ans: WebDriverException

TimeoutException

NoAlertPresentException

NoSuchWindowException

NoSuchElementException

StaleElementReferenceException

IllegalStateException

Q15. How to handle keyboard and mouse actions using Selenium?

Ans: We can handle special keyboard and mouse events by using Advanced User Interactions API. The Advanced User Interactions API contains the Actions and the Action Classes that are needed for executing these events. Most commonly used keyboard and mouse events provided by the Actions class are in the table below: Method Description clickAndHold() Clicks (without releasing) the current mouse location. dragAndDrop() Performs click-and-hold at the location of the source element, moves. source, target() Moves to the location of the target element, then releases the mouse

Q16. How To Login Into Any Site If It Is Showing Any Authentication Pop-Up For Username And Password?

Ans: To do this we pass username and password with the URL

http://username:password@url

e.g. http://admin:admin123@xyz.com

Q17. What are the types of waits available in Selenium WebDriver?

Ans: In Selenium we could see three types of waits such as Implicit Waits, Explicit Waits and Fluent Waits.

Implicit Waits –

Explicit Waits –

Fluent Waits –

PageLoadTimeOut

Thread.sleep() – static wait

Q18. What is Implicit Wait In Selenium WebDriver?

Ans: 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.

Q19. What is WebDriver Wait In Selenium WebDriver?

Ans: 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.

Q20. What are the different types of Drivers that WebDriver contains?

Ans: These are the different drivers available in WebDriver: FirefoxDriver InternetExplorerDriver ChromeDriver SafariDriver OperaDriver AndroidDriver IPhoneDriver HtmlUnitDriver

Q21. What is Fluent Wait In Selenium WebDriver?

Ans: 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.

Q22. How to input text in the text box using Selenium WebDriver?

Ans: By using sendKeys() method

WebDriver driver = new FirefoxDriver();

driver.get("https://www.gmail.com");

driver.findElement(By.xpath("xpath")).sendKeys("test");

Q23. How to input text in the text box without calling the sendKeys()?

Ans: // To initialize js object

JavascriptExecutor JS = (JavascriptExecutor)driver;

// To enter username

JS.executeScript("document.getElementById(‘User').value=test.com'");

Q24. How to clear the text in the text box using Selenium WebDriver?

Ans: By using clear() method

WebDriver driver = new FirefoxDriver();

driver.get("https://www.gmail.com");

driver.findElement(By.xpath("xpath_of_element1")).sendKeys("Software Testing Material Website");

driver.findElement(By.xpath("xpath_of_element1")).clear();

Q25. How do you verify if the checkbox/radio is checked or not?

Ans: We can use isSelected () method.

Syntax – driver.findElement (By.xpath (“xpath of the checkbox/radio button”)).isSelected ();

If the return value of this method is true then it is checked else it is not.

Q26. How to get a text of a web element?

Ans: By using getText() method

Q27. How to get an attribute value using Selenium WebDriver?

Ans: By using getAttribute(value);

Q28. How to click on a hyperlink using Selenium WebDriver?

Ans: We use click() method in Selenium to click on the hyperlink

driver.findElement(By.linkText(“Software Testing Material Website”)).click();

Q29. How to submit a form using Selenium WebDriver?

Ans: We use “submit” method on element to submit a form

driver.findElement(By.id("form_1")).submit();

Alternatively, you can use click method on the element which does form submission

Q30. How to press ENTER key on text box In Selenium WebDriver?

Ans: To press ENTER key using Selenium WebDriver, We need to use Selenium Enum Keys with its constant ENTER.

driver.findElement(By.xpath("xpath")).sendKeys(Keys.ENTER);