What is Selenium WebDriver?

What is Selenium Webdriver?

Selenium Webdriver is an open-source collection of APIs which is used for testing web applications. The Selenium Webdriver tool is used for automating web application testing to verify that it works as expected or not. It mainly supports browsers like Firefox, Chrome, Safari and Internet Explorer. It also permits you to execute cross-browser testing.

WebDriver also enables you to use a programming language in creating your test scripts (not possible in Selenium IDE).

You can now use conditional operations like if-then-else or switch-case. You can also perform looping like do-while.

Selenium Webdriver

Following programming languages are supported by WebDriver

You do not have to know all of them. You just need to be knowledgeable in one. However, in this tutorial, we will be using Java with Eclipse as our IDE.

Architecture of Selenium Webdriver

Selenium WebDriver architecture comprises following components;.

  • It controls the browser from the OS level
  • All you need are your programming language’s IDE (which contains your Selenium commands) and a browser.

Architecture of Selenium Webdriver

Speed

Speed

WebDriver is faster than Selenium RC since it speaks directly to the browser uses the browser’s own engine to control it.

Real-life Interaction

Real-life Interaction

WebDriver interacts with page elements in a more realistic way. For example, if you have a disabled text box on a page you were testing, WebDriver really cannot enter any value in it just as how a real person cannot.

API

API

WebDriver’s API is simple. It does not contain redundant and confusing commands.

Browser Support

Browser Support

WebDriver can support the headless HtmlUnit browser

HtmlUnit is termed as “headless” because it is an invisible browser – it is GUI-less.

It is a very fast browser because no time is spent in waiting for page elements to load. This accelerates your test execution cycles.

Since it is invisible to the user, it can only be controlled through automated means.

Limitations of WebDriver

WebDriver Cannot Readily Support New Browsers

Remember that WebDriver operates on the OS level. Also, remember that different browsers communicate with the OS in different ways. If a new browser comes out, it may have a different process of communicating with the OS as compared to other browsers. So, you have to give the WebDriver team quite some time to figure that new process out before they can implement it on the next WebDriver release.

However, it is up to the WebDriver’s team of developers to decide if they should support the new browser or not.

Summary

  • WebDriver is a tool for testing web applications across different browsers using different programming languages.
  • You are now able to make powerful tests because WebDriver allows you to use a programming language of your choice in designing your tests.
  • WebDriver is faster because of its simpler architecture.
  • WebDriver directly talks to the browser
  • WebDriver’s API is more concise.
  • WebDriver can support HtmlUnit.
  • The only drawbacks of WebDriver are: 1. It cannot readily support new browsers. 2. It does not have a built-in command for automatic generation of test results.