0% found this document useful (0 votes)
14 views32 pages

Emailing Selenium Interview Questions-1

The document provides a comprehensive overview of Selenium interview questions and answers, covering topics such as automation testing, benefits of automation, challenges of Selenium WebDriver, and various types of frameworks. It details the components of Selenium, including Selenium IDE, RC, WebDriver, and Grid, along with their functionalities and advantages. Additionally, it discusses locators, waits, exceptions, and practical coding examples for using Selenium WebDriver.

Uploaded by

vastradarun8
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views32 pages

Emailing Selenium Interview Questions-1

The document provides a comprehensive overview of Selenium interview questions and answers, covering topics such as automation testing, benefits of automation, challenges of Selenium WebDriver, and various types of frameworks. It details the components of Selenium, including Selenium IDE, RC, WebDriver, and Grid, along with their functionalities and advantages. Additionally, it discusses locators, waits, exceptions, and practical coding examples for using Selenium WebDriver.

Uploaded by

vastradarun8
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

Change2testautomation Pvt Ltd

Selenium Interview Questions

1. What is Automation Testing?

Automation testing is the process of testing a software or


application using an automation testing tool to find the defects. In
this process, executing the test scripts and generating the results
are performed automatically by automation tools. It is required
when we have huge amount of regression test cases. Some most
popular tools to do automation testing are HP QTP/UFT, Selenium
webdriver, etc.

2. What are the benefits of Automation Testing?

This is one of the common interview questions in any Automation


testing job.

1. Saves time and money. Automation testing is faster in


execution.
2. Reusability of code. Create one time and execute multiple
times with less or no maintenance.
3. Easy reporting. It generates automatic reports after test
execution.
4. Easy for compatibility testing. It enables parallel execution in
the combination of different OS and browser environments.
5. Low-cost maintenance. It is cheaper compared to manual
testing in a long run.
6. Automated testing is more reliable.
7. Automated testing is more powerful and versatile. Automation
tools allow us to integrate with Cross Browser
Testing Tools, Jenkins, Github etc.,
8. It is mostly used for regression testing. Supports execution of
repeated test cases.
9. Minimal manual intervention. Test scripts can be run
unattended.
Visit:Change2testautomation.com Phone: 7358036583
Change2testautomation Pvt Ltd
10. Maximum coverage. It helps to increase the test coverage.

3. What are the challenges and limitations of Selenium


WebDriver?

As we all know Selenium WebDriver is a tool which automates


the browser to mimic real user actions on the web. Selenium is a
free open source testing tool. Some of the challenges with
selenium webdriver are as follows

1. We cannot test windows application


2. We cannot test mobile apps
3. Limited reporting
4. Handling dynamic Elements
5. Handling page load
6. Handling pop up windows
7. Handling captcha

4. What type of tests have you 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.

5. 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.

6. 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

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
different types of automation frameworks and the most common
ones are:

 Data Driven Testing Framework


 Keyword Driven Testing Framework
 Hybrid Testing Framework

7. Have you created any Framework?

If you are a beginner: You can say “No, I didn’t get a chance to
create framework from the scratch. I have used the framework
which is already available. My contribution is mostly in creating test
cases by using the existing framework.”

If you are a beginner but have good knowledge on creating


framework: You can say “Yes, I have involved in developing
framework along with other automation tester in my company.”

If you are an experienced tester: You can say “I have contributed in


developing framework.” or You can say “Yes, I have created
framework from the scratch. There was no automation process in
my previous company. I designed the framework from the scratch.”

WebDriver driver = new FirefoxDriver ();


8. Can you explain the Framework which you have used
in your Selenium Project?

Here we have clearly explained each component of Framework.

9. Why do you prefer Selenium Automation Tool?

1. Free and open source


2. Have large user base and helping communities
3. Cross-browser compatibility
4. Platform compatibility

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
5. Multiple programming languages support such as Java, Perl,
Python, Php, C# etc.,

10. 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 (Selenium Integrated


 Development Environment)
  Selenium RC (Selenium Remote Control)
  Selenium WebDriver
 Selenium Grid

11. 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.

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
12. What is Selenese?

Selenese is the language which is used to write test scripts in


Selenium IDE.

13. Which is the only browser that supports Selenium IDE to


be used?

Firefox Browser

14. What is Selenium RC?

Selenium RC AKA Selenium Remote control / Selenium 1.


Selenium Remote Control 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.

15. 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.

16. 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.

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
In simple words, it is used to distribute your test execution on
multiple platforms and environments concurrently.

17. 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

18. 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

19. What is a hub in Selenium Grid?

A hub is a server or a central point that controls the test executions


on different machines.

20. 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.

21. What are the types of WebDriver APIs available


in Selenium?

 Firefox Driver

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
 Gecko Driver
 Internet Explorer Driver
 Chrome Driver
 HTMLUnit Driver
 Opera Driver
 Safari Driver
 Android Driver
 iPhone Driver
 EventFiringWebDriver

22. 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.

23. What are the Programming Languages supported by


Selenium WebDriver?

 Java
 C#
 Python
 Ruby
 Perl
 PHP

24. What are the Operating Systems supported by


Selenium WebDriver?

 Windows
 Linux
 Apple

25. What are the Open-source Frameworks supported by


Selenium WebDriver?

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd

JUnit
TestNG

26. What are the Locators available in Selenium?

In Selenium WebDriver, there are 8 different types of locators:

1. ID
2. Class Name
3. Name
4. Tag Name
5. LinkText
6. PartialLinkText
7. XPath
8. CSS Selector

27. 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.

28. 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.

29. 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(/)

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
Eg: /html/body/div[3]/div[1]/form/table/tbody/tr[1]/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 double forward slash(//)
Eg: //input[@id='email']

30. What is the difference between Assert and Verify in


Selenium?

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.

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

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
Hard Assert throws an AssertExceptionimmediately when an
assert statement fails and test suite continues with next @Test

32. 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.)

33. How to launch a browser using Selenium WebDriver?

WebDriver is an Interface. We create an Object of a required


driver class such as FirefoxDriver, Chrome Driver,
InternetExplorerDriver etc.,

To launch Firefox Driver:


WebDriver driver = new FirefoxDriver();

Note: If you use geckodriver with Selenium, you must upgrade to


Selenium 3.3
1 System.setProperty("webdriver.gecko.driver", "D:\\Selenium Environment\\Drivers\\geckodriver.exe");

To launch Chrome Driver:


WebDriver driver = new ChromeDriver();

To launch Internet Explorer Driver:


WebDriver driver = new InternetExplorerDriver();

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
To launch Safari Driver:
WebDriver driver = new SafariDriver();

34. Is the FirefoxDriver a Class or an Interface?

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

35. What is the super interface of WebDriver?

SearchContext.

36. Explain the line of code Webdriver driver = new


FirefoxDriver?

Webdriver driver = new FirefoxDriver();

‘WebDriver‘ is an interface and we are creating an object of type


WebDriver instantiating an object of FirefoxDriver class.

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


WebDriver

WebDriver driver = new FirefoxDriver();

FirefoxDriver driver = new FirefoxDriver();

What is the purpose of doing this way?

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
If 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.,

38. What are the different exceptions you have faced


in Selenium WebDriver?

Some of the exceptions I have faced in my current project are

1. ElementNotVisibleException
2. StaleElementReferenceException

Element Not visible Exception:

This exception will be thrown when you are trying to locate a


particular element on webpage that is not currently visible
eventhough it is present in the DOM. Also sometimes, if you are
trying to locate an element with the xpath which associates with two
or more element.

Stale Element Reference Exception:

A stale element reference exception is thrown in one of two cases,


the first being more common than the second.

The two reasons for Stale element reference are

1. The element has been deleted entirely.


2. The element is no longer attached to the DOM.

We face this stale element reference exception when the element


we are interacting is destroyed and then recreated again. When this
happens the reference of the element in the DOM becomes stale.
Hence we are not able to get the reference to the element.

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
Some other exceptions we usually face are as follows:

 WebDriverException
 IllegalStateException
 TimeoutException
 NoAlertPresentException
 NoSuchWindowException
 NoSuchElementException

39. How to Login into any site if it is showing an


Authentication Pop-Up for Username and Password?

http://username:password@urlhttp://myUserName:myPassword@s

oftwaretestingmaterial.com

40. What are the types of waits available in Selenium


WebDriver?

In Selenium we could see three types of waits such as


Implicit Waits, Explicit Waits and Fluent Waits.

 Implicit Waits
 Explicit Waits
 Fluent Waits

41. 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.

42. What is WebDriver Wait In Selenium WebDriver?

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
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.

43. 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.

44. How to input text in the text box using Selenium


WebDriver?

By using sendKeys () Method:


1 WebDriver driver = new FirefoxDriver();

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

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

45. How to input text in the text box without calling


the sendKeys?

1 // To initialize js object

2 JavascriptExecutor JS = (JavascriptExecutor)webdriver;

3 // To enter username

4 JS.executeScript("document.getElementById('User').value='SoftwareTestingMaterial.com'");

5 // To enter password

6 JS.executeScript("document.getElementById('Pass').value='tester'");

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

By using clear () Method

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
47. How to get a text of a web element?

By using getText() Method

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

By using getAttribute(value);

It returns the value of the attribute passed as a parameter.

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

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

50. How to submit a form using Selenium WebDriver?

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

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

51. How to press ENTER key on text box In


Selenium WebDriver?

To press ENTER key using Selenium WebDriver, We need to use

52. How to pause a test execution for 5 seconds at a


specific point?

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
By using java.lang.Thread.sleep(long milliseconds) method we
could pause the execution for a specific time. To pause 5 seconds,
we need to pass parameter as 5000 (5 seconds)

53. Is Selenium Server needed to run Selenium


WebDriver Scripts?

When we are distributing our Selenium WebDriver scripts to execute


using Selenium Grid, we need to use Selenium Server.

54. What happens if I run this


command. driver.get(“www.softwaretestingmaterial.com”) ;

An exception is thrown. We need to pass HTTP protocol within


driver.get() method.

55. What is the alternative to driver.get() method to open an


URL using Selenium WebDriver?

Alternative method to driver.get(“url”) method


is driver.navigate.to(“url”)

56. What is the difference


between driver.get() anddriver.navigate.to(“url”)?

driver.get(): To open an URL and it will wait till the whole page gets
loaded
driver.navigate.to(): To navigate to an URL and It will
not wait till the whole page gets loaded

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
57. Can I navigate back and forth in a browser in
Selenium WebDriver?

We use Navigate interface to do navigate back and forth in a


browser. It has methods to move back, forward as well as to
refresh a page.

driver.navigate().forward(); – to navigate to the next web page


with reference to the browser’s history
driver.navigate().back(); – takes back to the previous webpage
with reference to the browser’s history
driver.navigate().refresh(); – to refresh the current web page
thereby reloading all the web elements
driver.navigate().to(“url”); – to launch a new web browser
window and navigate to the specified URL

58. What are the different types of navigation commands?

Refer above question (Can I navigate back and forth in a browser)

59. How to fetch the current page URL in Selenium?

To fetch the current page URL, we use getCurrentURL()

60. How can we maximize browser window in Selenium?

To maximize browser window in selenium we


use maximize() method. This method maximizes the current
window if it is not already maximized

61. How to delete cookies in Selenium?

To delete cookies we use deleteAllCookies() method

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd

62. What are the ways to refresh a browser using Selenium


WebDriver?

There are multiple ways to refresh a page in selenium

 Using driver.navigate().refresh() command as mentioned in


 the question 45
 Using driver.get(“URL”) on the current URL or
using driver.getCurrentUrl()
 Using driver.navigate().to(“URL”) on the current URL
 or driver.navigate().to(driver.getCurrentUrl());
 Using sendKeys(Keys.F5) on any textbox on the webpage

63. What is the difference between driver.getWindowHandle()


and driver.getWindowHandles() in Selenium WebDriver?

driver.getWindowHandle() – It returns a handle of the current page (a


unique identifier)
driver.getWindowHandles() – It returns a set of handles of the all the
pages available.

64. What is the difference between driver.close()


and driver.quit() methods?

Purpose of these two methods (driver.close and driver.quit) is


almost same. Both allow us to close a browser but still, there is
a difference.

driver.close (): To close current WebDriver instance


driver.quit (): To close all the opened WebDriver instances

65. What is the difference between driver.findElement() and


driver.findElements() commands?

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
The difference between driver.findElement()
and driver.findElements() commands is-

 find Element() returns a single WebElement (found first) based


on the locator passed as parameter. Whereas findElements()
returns a list of WebElements, all satisfying the locator value
 passed.
 Syntax of findElement()-

WebElement textbox =
driver.findElement(By.id(“textBoxLocator”));
Syntax of findElements()-
List <WebElement> elements =
element.findElements(By.id(“value”));

 Another difference between the two is- if no element is found


then findElement() throws NoSuchElementException whereas
findElements() returns a list of 0 elements.

66. How to find whether an element is displayed on the


web page?

WebDriver facilitates the user with the following methods to check


the visibility of the web elements. These web elements can be
buttons, drop boxes, checkboxes, radio buttons, labels etc.

1. isDisplayed()
2. isSelected()
3. isEnabled()

67. How to select a value in a dropdown?

By using Select class

68. How to capture Screenshot in Selenium WebDriver?

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
Test cases may fail while executing the test scripts. While we
are executing the test cases manually we just take a screenshot
and place in a result repository. The same can be done by using
Selenium WebDriver.

Some of the scenarios we may need to capture a screenshot


using Selenium WebDriver are

i. Application issues
ii. Assertion Failure
iii. Difficulty to find Webelements on the web page
iv. Timeout to find Webelements on the web page

Selenium provides an interface called TakesScreenshotwhich has a


method getScreenShotAs which can be used to take a screenshot of
the application under test.

In Selenium 3, we may face few issues while capturing


Screenshots. To overcome we use aShot utility. Click on below links
to see posts related to the normal way of capturing a screenshot
and capturing a screenshot using aShot utility.

69. How to mouse hover on a web element using WebDriver?

By using Actions class

70. How can we handle web based pop-up?

To handle alerts popups we need to do switch to the alert


window and call Selenium WebDriver Alert API methods.

71. How can we handle windows based pop up?

Selenium doesn’t support windows based applications. It is an


automation testing tool which supports only web application testing.

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
We could handle windows based popups in Selenium using
some third party tools such as AutoIT, Robot class etc.

72. How to handle hidden elements in Selenium WebDriver?

It is one of the most important selenium interview questions.

We can handle hidden elements by using javaScript executor

73. How can you find Broken Links in a page using Selenium
WebDriver?

74. How to find more than one web element in the list?

List Interface and Size() Method

75. How to read a JavaScript variable in Selenium


WebDriver?

By using JavascriptExecutor

76. What is JavaScriptExecutor and in which cases


JavaScriptExecutor will help in Selenium automation?

In general, we click on an element using click() method in


Selenium.

77. How do you read test data from excels?

Test data can efficiently be read from excel using JXL or POI API.
POI API has many advantages than JXL.
Click here to see a practical example of using Apache POI.

78. Is it possible to automate the captcha using Selenium?

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
No, It’s not possible to automate captcha and bar code reader.

79. How to handle Ajax calls in Selenium WebDriver?

Handling AJAX calls is one of the common issues when using


Selenium WebDriver. We wouldn’t know when the AJAX call would
get completed and the page has been updated. In this post, we see
how to handle AJAX calls using Selenium.

AJAX stands for Asynchronous JavaScript and XML. AJAX allows the
web page to retrieve small amounts of data from the server without
reloading the entire page. AJAX sends HTTP requests from the client
to server and then process the server’s response without reloading
the entire page. To handle AJAX controls, wait commands may not
work. It’s just because the actual page is not going to refresh.

When you click on a submit button, the required information may


appear on the web page without refreshing the browser. Sometimes
it may load in a second and sometimes it may take longer. We have
no control over loading time. The best approach to handle this kind
of situations in selenium is to use dynamic waits (i.e.
WebDriverWait in combination with ExpectedCondition)

Some of the methods which are available are as follows:

1. titleIs() – The expected condition waits for a page with a


specific title.

2. elementToBeClickable() – The expected condition waits for an


element to be clickable i.e. it should be present/displayed/visible
on the screen as well as enabled.

3. alertIsPresent() – The expected condition waits for an alert


box to appear.

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
4. textToBePresentInElement() – The expected condition waits
for an element having a certain string pattern.

80. List some scenarios which we cannot automate using


Selenium WebDriver?

1. Bitmap comparison is not possible using Selenium WebDriver


2. Automating Captcha is not possible using Selenium WebDriver
3. We can not read bar code using Selenium WebDriver

81. What is Object Repository in Selenium WebDriver?

Object Repository is used to store element locator values in a


centralized location instead of hard coding them within the scripts.
We do create a property file (.properties) to store all the element
locators and these property files act as an object repository in
Selenium WebDriver.

82. How you build Object Repository in your project?

In QTP, there is an Object Repository concept. When a user records


a test, the objects and its properties are captured by default in an
Object Repository. QTP uses this Object Repository to play back the
scripts. Coming to Selenium, there is no default Object Repository
concept. It doesn’t mean that there is no Object Repository in
Selenium. Even though there is no default one still we could create
our own. In Selenium, we call objects as locators (such as ID,
Name, Class Name, Tag Name, Link Text, Partial Link Text, XPath,
and CSS). Object repository is a collection of objects. One of the
ways to create Object Repository is to place all the locators in a
separate file (i.e., properties file). But the best way is to use Page
Object Model. In the Page Object Model Design Pattern, each web

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
page is represented as a class. All the objects related to a particular
page of a web application are stored in a class.

83. What is Page Object Model in Selenium?

Page Object Model is a Design Pattern which has become popular in


Selenium Test Automation. It is widely used design pattern in
Selenium for enhancing test maintenance and reducing code
duplication. Page object model (POM) can be used in any kind of
framework such as modular, data-driven, keyword driven, hybrid
framework etc. A page object is an object-oriented class that serves
as an interface to a page of your Application Under Test(AUT). The
tests then use the methods of this page object class whenever they
need to interact with the User Interface (UI) of that page. The
benefit is that if the UI changes for the page, the tests themselves
don’t need to change, only the code within the page object needs to
change. Subsequently, all changes to support that new UI is located
in one place.

84. What is Page Factory?

We have seen that ‘Page Object Model’ is a way of representing an


application in a test framework. For every ‘page’ in the application,
we create a Page Object to reference the ‘page’ whereas a ‘Page
Factory’ is one way of implementing the ‘Page Object Model’.

85. What is the difference between Page Object Model (POM)


and Page Factory?

Page Object is a class that represents a web page and hold


the functionality and members.
Page Factory is a way to initialize the web elements you want to
interact with within the page object when you create an instance
of it.

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
86. What are the advantages of Page Object Model
Framework?

Code reusability – We could achieve code reusability by writing


the code once and use it in different tests.

Code maintainability – There is a clean separation between test


code and page specific code such as locators and layout which
becomes very easy to maintain code. Code changes only on Page
Object Classes when a UI change occurs. It enhances test
maintenance and reduces code duplication.

Object Repository – Each page will be defined as a java class. All


the fields in the page will be defined in an interface as members.
The class will then implement the interface.

Readability – Improves readability due to clean separation


between test code and page specific code

87. How can you use the Recovery Scenario in Selenium


WebDriver?

By using “Try Catch Block” within Selenium WebDriver Java tests.

88. How to Upload a file in Selenium WebDriver?

There are two cases which are majorly used to upload a file
in Selenium WebDriver such as using SendKeys Method and
using AutoIT Script.

89. How to Download a file in Selenium WebDriver?

By using AutoIT script, we could download a file in


Selenium WebDriver.

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
90. How to run Selenium WebDriver Test from the command
line?

Run Java Program using Command Prompt

Run TestNG using Command Prompt

91. How to switch between frames in Selenium?

By using the following code,

driver.switchTo().frame();

92. How to connect a Database in selenium?

As we all know Selenium WebDriver is a tool to automate User


Interface. We could only interact with Browser using Selenium
WebDriver.

We use JDBC Driver to connect the Database in Selenium (While


using Java Programming Language).

93. How To Resize Browser Window Using


Selenium WebDriver?

To resize the browser window to particular dimensions, we use


‘Dimension’ class to resize the browser window.

94. How To Scroll Web Page Down Or UP Using


Selenium WebDriver?

JavaScript scrollBy() method scrolls the document by the specified


number of pixels.

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
95. How To Perform Right Click Action (Context Click)
In Selenium WebDriver?

We use Actions class in Selenium WebDriver to do Right-Click


(Context Click) action.

96. How To Perform Double Click Action In


Selenium WebDriver?

We use Actions class to do Double click action in selenium.

97. How To Perform Drag And Drop Action in Selenium


WebDriver?

In some applications, we may face a situation to automate drag and


drop an item from one location to another location. We could not
achieve these using basic elements. Selenium has provided an
“Actions” class to handle this kind of scenarios. We overcome this
kind of scenarios such as drag and drop using Actions Class.

To achieve this, we use Actions class in Selenium WebDriver.

98. How To Highlight Element Using Selenium WebDriver?

By using JavaScript Executor interface, we could highlight the


specified element

99. Have you used any crossbrowsertesting tool to


run selenium scripts on cloud?

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
I have used BrowserStack to run selenium tests on multiple
browsers & Multiple operating systems in parallel. Earlier we have
made a video on how to use BrowserStack to run selenium
scripts on the cloud. Find the link in the description below.

100. What is desired capabilities?

In Selenium we use desired capabilities to handle SSL certificates in


chrome browser

DesiredCapabilities desiredCapability = DesiredCapabilities.chrome();

101. What is Continuous Integration?

Continuous Integration is abbreviated as CI. Continuous Integration


is a development practice which aims to make sure the correctness
of a software. After each commit, a suite of tests run automatically
and test the software to ensure whether the software is running
without any breaks. If any test fails, we will get immediate feedback
say “build is broken”.

In simple words, continuous integration is a process of verifying the


correctness of a software.

Some of the continuous integration tools are Jenkins, TeamCity,


Bamboo, Travis, Circle Ci, Bitbucket.

We can schedule the test suite execution using these CI Tools.

102. How to achieve Database testing in Selenium?

As we all know Selenium WebDriver is a tool to automate User


Interface. We could only interact with Browser using Selenium
WebDriver.

Sometimes, we may face a situation to get the data from the


Database or to modify (update/delete) the data from the Database.
If we plan to automate anything outside the vicinity of a browser,
then we need to use other tools to achieve our task. To achieve the

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
Database connection and work on it, we need to use JDBC API
Driver.

The Java Database Connectivity (JDBC) API provides universal data


access from the Java programming language. Using the JDBC API,
you can access virtually any data source, from relational databases
to spreadsheets and flat files. It lets the user connect and interact
with the Database and fetch the data based on the queries we use
in the automation script. JDBC is a SQL level API that allows us to
execute SQL statements. It creates a connectivity between Java
Programming Language and the database.

Using JDBC Driver we could do the following

i. Establish a Database connection


ii. Send SQL Queries to the Database
iii. Process the results

TestNG – Interview Questions:


103. What is TestNG?

TestNG is a testing framework designed to simplify a broad range of


testing needs, from unit testing to integration testing.

104. What are the annotations available in TestNG?

@BeforeTest
@AfterTest

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
@BeforeClass
@AfterClass
@BeforeMethod
@AfterMethod
@BeforeSuite
@AfterSuite
@BeforeGroups
@AfterGroups
@Test

105. What is TestNG Assert and list out some


common Assertions supported by TestNG?

TestNG Asserts help us to verify the condition of the test in the


middle of the test run. Based on the TestNG Assertions, we will
consider a successful test only if it is completed the test run without
throwing any exception.

Some of the common assertions supported by TestNG are

 assertEqual(String actual, String expected)


 assertEqual(String actual, String expected, String message)
 assertEquals(boolean actual,boolean expected)
 assertTrue(condition)
 assertTrue(condition, message)
 assertFalse(condition)
 assertFalse(condition, message)

106. How to create and run TestNG.xml?

In TestNG framework, we need to create TestNG XML file to create


and handle multiple test classes. We do configure our test run, set
test dependency, include or exclude any test, method, class or
package and set priority etc in the XML file.

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
107. How to set test case priority in TestNG?

We use priority attribute to the @Test annotations. In case priority


is not set then the test scripts execute in alphabetical order.
1 package TestNG;

2 Import org.testng.annotations.*;

3 public class PriorityTestCase{

4 @Test(priority=0)

5 public void testCase1() {

6 system.out.println("Test Case 1");

7 }

8 @Test(priority=1)

9 public void testCase2() {

10 system.out.println("Test Case 2");

11 }

12 }

108. What is Parameterized testing in TestNG?

Parameterized tests allow developers to run the same test over and
over again using different values.

There are two ways to set these parameters:

 with testng.xml
 with Data Providers

109. How to run a group of test cases using TestNG?

TestNG allows you to perform sophisticated groupings of test


methods. Not only can you declare that methods belong to groups,
but you can also specify groups that contain other groups. Then
TestNG can be invoked and asked to include a certain set of groups

Visit:Change2testautomation.com Phone: 7358036583


Change2testautomation Pvt Ltd
(or regular expressions) while excluding another set. This gives you
maximum flexibility in how you partition your tests and doesn’t
require you to recompile anything if you want to run two different
sets of tests back to back.

Groups are specified in your testng.xml file and can be found either
under the <test> or <suite> tag. Groups specified in the <suite> tag
apply to all the <test> tags .
1 @Test (groups = { "smokeTest", "functionalTest" })

2 public void loginTest(){

3 System.out.println("Logged in successfully");

4}

110. What is the use of @Listener annotation in TestNG?

TestNG listeners are used to configure reports and logging. One of


the most widely used listeners in TestNG is ITestListener interface.
It has methods like onTestStart,
onTestSuccess, onTestFailure, onTestSkipped etc.

We should implement this interface creating a listener class of our


own. Next, we should add the listeners annotation (@Listeners) in
the Class which was created.

111. How can we create a data-driven framework


using TestNG?

By using @DataProvider annotation, we can create a Data


Driven Testing Framework.

Visit:Change2testautomation.com Phone: 7358036583

You might also like