Selenium is an automation testing tool for browsers. What this means is that when you develop a web application and want to test components of a webpage, you write a script in Selenium and then test the output. If the output passes, then you move on to test another component under development.
Currently, Selenium testing has 3 testing tools namely:
In the later section, will look at the difference between the three but this tutorial focuses primarily on Selenium Webdriver.
Selenium Remote Control: Original Selenium core project in 2004 later became Selenium Remote Control where the requests sent to the browser were tested on a proxy server called Selenium RC which now has become deprecated as we now have Selenium Web Driver. One can write the test cases on Selenium RC in any language. But becomes complicated and a lot slower as there is a middleware introduced.
Selenium Webdriver: Selenium Webdriver ,on the other hand, controls the browser from Operating System-level which simplifies the architecture. No need to have a proxy server running, but requires different drivers for different browsers that is chromedriver for google chrome, Mozilla driver for Mozilla Firefox browser.
Till now we have understood that Selenium automates the browser testing for web applications and to be more specific UI/UX. But, let us now closely examine what all we can do by selenium testing tool like selenium webdriver. We can generate scripts to automate processes like
Now, before we begin with the tutorial and enhance our understanding of Selenium Webdriver. Let’s first know the difference between the three: Selenium Webdriver vs Selenium IDE vs Selenium Grid.
Browsers Supported: Chrome, Firefox, Edge, Internet Explorer, Opera, Safari
Selenium Web driver has simplified the cross-browser web application testing significantly without the use of any servers and at the operating system level itself. What happens is that the same platform you are writing your application, say Java application in eclipse or dot net application in the visual studio now supports Selenium libraries. These libraries help you generate the automated scripts for testing web applications through screenshots, waits, etc features provided in these libraries. Now, you download separate webdrivers and access them through the selenium libraries and perform your test suites as what the output is being visible, and if the test case is passed or not.
Selenium webdrivers hence allows to test across multiple browsers and most importantly easy to add in the existing code you are working in so if the test cases are passed the code can be merged into the production. Below, diagram would make it even more clear.
This is the most important question is why and who should invest time in learning Selenium Webdriver: