Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What Is Selenium And What Is WebDriver?

What is Selenium?

When you open the official page of the Selenium, the first thing you read is "Selenium automates browser" in "What is Selenium?" section. The section "Which part of Selenium is appropriate for me?" below offers the choice between Selenium WebDriver and Selenium IDE. From this, I deduce that Selenium is a collection of tools and the collection comprises IDE, WebDriver API(language binding), Grid, Selenium Standalone Server, browser driver. One has to download the appropriate ones to build a project.

What is WebDriver?

WebDriver is an API. It is written in more than one language which and they are called language bindings. The API has functions to control a browser. You use the functions in writing a script that controls a browser in the way(test case) you want.

This is what I know. Please correct me wherever I'm wrong. I want to know the answers to the two questions in the interview point of view.

like image 274
learningQA Avatar asked Jan 31 '19 11:01

learningQA


People also ask

What is the WebDriver?

WebDriver is a remote control interface that enables introspection and control of user agents. It provides a platform- and language-neutral wire protocol as a way for out-of-process programs to remotely instruct the behavior of web browsers.

Is WebDriver part of Selenium?

Selenium WebDriver is the most important component of Selenium Tool's Suite. The latest release "Selenium 2.0" is integrated with WebDriver API which provides a simpler and more concise programming interface. The following image will give you a fair understanding of Selenium components and the Test Automation Tools.

What is Selenium tool?

Selenium is an open-source tool that automates web browsers. It provides a single interface that lets you write test scripts in programming languages like Ruby, Java, NodeJS, PHP, Perl, Python, and C#, among others.

What is a WebDriver in Java?

WebDriver is a remote control interface that enables introspection and control of user agents (browsers). The methods in this interface fall into three categories: Control of the browser itself. Selection of WebElement s.


3 Answers

Selenium

Selenium is a free (open source) automated testing suite for web applications across different browsers and platforms. Primarily it is used for automating web applications for testing purposes, but is certainly not limited to just that. Selenium has the support of all of the major browser vendors who have taken (or are taking) steps to make Selenium a native part of their browser. It is also the core technology in countless other browser automation tools, APIs and frameworks.

Selenium is not just a single tool but a set of different software tools each with a different approach to support the test automation of an organization. From a broader perspective previously it had four components as follows:

  • Selenium Integrated Development Environment (IDE)
  • Selenium Remote Control (RC)
  • WebDriver
  • Selenium Grid

An year ago, Selenium RC and WebDriver are merged into a single framework to form Selenium 2.x. Perhaps, Selenium 1 refers to Selenium RC. The current released version is Selenium 3.x.


WebDriver

Selenium-RC worked the same way for each supported browser. It injected javascript functions into the browser when the browser was loaded and then used its javascript to drive the AUT within the browser. Selenium WebDriver fits in the same role as Selenium-RC did and has incorporated the original 1.x bindings and included the WebDriver API. It refers to both the language bindings and the implementations of the individual browser controlling code. This is commonly referred to as just WebDriver. In short, WebDriver is the remote control interface that enables introspection and control of user agents. WebDriver provides a platform and language-neutral wire protocol as a way for out-of-process programs to remotely instruct the behavior of web browsers.

Highlights of WebDriver

  • WebDriver is designed in a simpler and more concise programming interface along with addressing some limitations in the Selenium-RC API.
  • WebDriver is a compact Object Oriented API when compared to Selenium1.0
  • It drives the browser much more effectively and overcomes the limitations of Selenium 1.x which affected our functional test coverage, like the file upload or download, pop-ups and dialogs barrier
  • WebDriver overcomes the limitation of Selenium RC's Single Host origin policy.

Current Implementation

WebDriver is the name of the key interface against which tests should be written in Java/C#/Ruby/Python/NodeJS, the implementing classes which you can use are listed as below:

  • ChromeDriver
  • EventFiringWebDriver
  • FirefoxDriver
  • HtmlUnitDriver
  • InternetExplorerDriver
  • PhantomJSDriver
  • RemoteWebDriver
  • SafariDriver
like image 139
undetected Selenium Avatar answered Oct 17 '22 11:10

undetected Selenium


What is Selenium

It is a suite of tools that can be used to automate web browsers testing. Each tool serves different purpose.

List of tools:

  1. Selenium IDE
  2. Selenium RC
  3. WebDriver
  4. Selenium Grid

Selenium RC was merged with WebDriver since Selenium 2

What is WebDriver

Selenium WebDriver is an interface that permits us to execute tests over browsers.

Selenium WebDriver allows us to choose a programming language of your choice to create test scripts.

Please find the image below explaining how exactly WebDriver communicates with the browser :

enter image description here

like image 44
Navpreet Singh Avatar answered Oct 17 '22 10:10

Navpreet Singh


What is Selenium?

Selenium is a framework where scripts are written to run and execute webDriver which in turn controls browser.

What is WebDriver?

WebDriver is an API, the name itself suggests driving the web browser or controlling the web browser by using libraries and commands.

The one and only job of WebDriver is to control the browser, it doesn't know anything about testing and how to interact with browser, At this point FrameWork comes into picture where Scripts are written to run and execute WebDriver.

like image 1
varun raj Avatar answered Oct 17 '22 11:10

varun raj