Introduction To Selenium 3.0

Hello everyone. This article helps you in understanding the usage of the automation tool Selenium and its advantages.

What is testing?

  • Testing is something like testing the functionality of a project/product or its module.
  • We know that the phases of Software Development Life Cycle(SDLC) have the following stages:

    • Analysis/Requirement.
    • Design
    • Coding or implementing the functionality
    • Testing
    • Deployment
    • Maintenance
  • Once the project/Product is developed, this means the three stages, mentioned above (Analysis,Design,Coding ) have completed , followed by the next stage i.e. testing.
  • Testing is usually performed to check the flow of the system, whether the functionality works properly is based on the requirements or not.
  • Software Testers' work is to identify the bugs/ errors, which occurs in the page to produce the quality product.
Differences between Manual Testing & Automation Testing 

Manual Testing

  • Manual Testing is a process of testing the Application manually by navigating to each scenario and testing the product in order to identify if any bug / error in the Application exists or not.
  • Manual Testing takes more effort and its time consuming process as it is a manual process.
  • Manual Testers need to execute multiple test cases and finally produce a bug free product.
  • They have to follow the same process every day with navigating to the same screens and same scenarios. It is quite a boring one and repetitive work.
  • In manual testing, there will be multiple scenarios to test, there are a few chances that the tester may leave certain scenarios, which we can overcome in Automation testing.
  • In Manual Testing, we have different types of testing which consists of

    • Unit testing
    • System testing
    • Acceptance testing.
    • backbox testing
    • white box testing
    • Smoke testing
    • Regression testing etc.

Automation Testing

  • Once the Application is tested by the manual testers, there may be the chances of leaving such scenarios;  we can overcome the above problem with automation testing tools like Selenium , CodedUI , QTP etc.

What is Selenium ?

  • Selenium is an open source tool, which is used to execute the test scripts on the Web aApplication.
  • As we know Selenium is an open source tool; it supports various programming languages such as Java,C#, PHP,JavaScript, Ruby etc.
  • Selenium supports various operating systems to execute the Web Application like Windows, Linux, MacOS etc.
  • Selenium is written, using one of the famous programming languages; i.e. Java, and its a cross-platform.
  • Selenium supports various programming languages and various platforms. For these reasons, most of the top companies prefer Selenium rather than using Quick Test Professional (QTP) and CodedUI, which are both licensed versions.
  • It supports various Browsers such as Google Chrome, Edge Browser, Firefox Browser, Internet Explorer, Safari etc.
  • Each Browser has its own driver for executing the test scripts on their Browsers such as for executing the selenium Scripts on Chrome we have Chromedrivers, for executing the selenium Scripts on IE we have Internet Explorer drivers, for executing the selenium Scripts on Safari we have Safari drivers, for executing Selenium Scripts on Opera, we have Opera drivers.
  • Internet Explorer(IE) and Google Chrome supports both 32bit and 64 bit version, where you can download and use based on your system requirements.
  • In Selenium earlier versions like Selenium 1.0 and Selenium 2.0, we do not need to set up Firefox drivers for executing the scripts on Firefox Browser. By default Selenium has support for Firefox.
  • In Selenium 3.0, all the vendors like Google, Apple, Microsoft, Firefox have their own drivers to work on Selenium.
  • Selenium drivers can be downloaded from the the link.

What are the components of Selenium ?

  • We have the following Selenium components.

    • Selenium Core
    • Selenium RC
    • Selenium IDE
    • Selenium Grid
    • Selenium Webdriver.
  • Among these, Selenium 3.0 supports Selenium Grid and Selenium Webdriver and it stops using Selenium RC directly.
  • Selenium Core is completely removed from the latest version of Selenium 3.0.

New features in Selenium 3.0 ?

  • In the earlier versions of Selenium like Selenium 2.0, we do not need to setup Firefox driver and Selenium doesn’t have any Firefox driver. By default, Selenium supports the Firefox driver.
  1.   Using OpenQA.Selenium.Firefox;
  2. [TestMethod]
  3. public void LaunchFireFox()
  4. {
  5.  FireFoxDriver driver=new FireFoxDriver();
  6. driver.Navigate().GoToUrl("http://www.google.com");
  7. driver.Manage().Window.Maximize();
  8. driver.Quit();
  9. }

  • In Selenium latest version i.e. Selenium 3.0, we have separate driver for Firefox (Geckodriver).
  • You can download Gecko driver from Selenium official Website. 
  1.   Using OpenQA.Selenium.Firefox;
  2. [TestMethod]
  3. public void LaunchFirefox()
  4. {
  5. FireFoxDriverService driver=new FireFoxDriverService("Path of the GeckoDriver","name of executable file(example geckodriver.exe)")
  6. // code to Launch browser
  7. }
  • Firefox Browser version is supported by 47+. If we want to work with the older versions i.e. less than 47 version, there is no need to install Gecko driver but working with more than 47+ either in Selenium 2.0 or Selenium 3.0 requires Gecko driver installed and configured.
  • http://www.seleniumhq.org/download/
  • In this version, we also have a support for Microsoft’s Edge Browser, which is Microsoft’s own Browser.
  • Following are the prerequisites to work with Edge Browser .
  • The client machine should be installed with Windows 10 Operating system.
  • It supports Java greater than 8 version to run Java code (hub).
  • Support for Safari (Apple OS) Browser is provided by Safari drivers (10.0 version+).
  • More than 9+ versions of IE are supported in Selenium 3.0.
  • Now Selenium 3.0 has became a W3C (World wide Web consortium) standard.
  • Selenium 3.0 removed Selenium Core but supports Selenium RC indirectly through back-end Webdriver.

Who developed this Selenium ?

  • Selenium was developed as an internal project to test the internal Applications at ThoughtWorks, which is developed in client side technology like JavaScript by Jason Huggins. Later it became the first version of Selenium i.e. Selenium 1.0 Core in 2004.
  • Jason Huggins has tested various internal Applications and gave demos to different colleagues. Additionally, they were excited about the success of the Selenium Core. Later, Paul Hammant joined his team and developed the second version of Selenium i.e.(Selenium RC) then this tool became an open-source to work with the different Browsers and different platforms.
  • Simon Stewart at ThoughtWorks developed an Automation tool for the Browser known as Webdriver and later they merged these Selenium RC with Webdriver called Selenium Webdriver(Selenium 2.0).
  • Philippe Hanrigou at ThoughtWorks developed Selenium Grid in the year of 2008. Selenium Grid is used for configuring single hub and multiple nodes. The current hub is capable of running multiple testcases on client machine as well as remote machines, which reduces the time as well as man power.
  • Finally, Selenium 3.0 was developed in this year with the new features. It is a combination of Selenium 2.0 – Selenium 1.0, which means it supports Selenium 2.0 features but doesn’t have support for Selenium 1.0 i.e. Selenium Core.

Thanks and I hope this article helps you.