Web Test Automation with Selenium


Web Test Automation with Selenium

Selenium is a software testing framework for web applications. It’s one of the most widely used frameworks for the web testing.  

History of Selenium

Selenium was developed by Jason Huggins in 2004 as an internal project at ThoughtWorks. Huggins later joined google where he continued to work on selenium. Around same time, Simon Stewart at ThoughtWorks developed a browser automation tool known as WebDriver. In 2009, at a meeting in GTAC (Google Test Automation Conference) it was decided to merge these two projects and Selenium WebDriver (also called as Selenium 2.0) came to life.  

Selenium Components

  • Selenium IDE
    This is a record-and-playback tool for web browser tests. It’s an add-on for Firefox browser. It allows recording, editing, playback and debugging of the tests. The only drawback associated with IDE is that it is available for Firefox browser.

  • Selenium WebDriver
    This WebDriver is the set of client APIs and successor of Selenium Remote Control (RC). With the use of the API, one can have more control and flexibility over the tests to be performed. The API bindings are available for Java, C#, Python and Ruby. It supports a variety of browsers.

  • Selenium Grid
    This provides functionality to execute the tests in distributed and remote environments on a variety of browsers and operating Systems.  

Advantages of using Selenium

  • Support for a variety of OS Platforms
    The WebDriver component of Selenium supports execution of test cases across variety platforms like Mac OS, Linux and Windows.

  • Support for multiple browsers
    WebDriver supports multiple browsers like Firefox, Opera, IE and Chrome.

  • Support for multiple programming platforms
    Test cases with Web driver can be programmed using Java, C#, Python and Ruby. One can choose programming language of choice for this.

  • Open Source
    There is no licencing cost for Selenium as it is open source. It can even be used for commercial purpose.

  • Support for Mobile Application Testing
    The frameworks like Appium, Robotium and Selendroid extends the functionality of Webdriver for testing mobile apps on Android and iOS.

  • Limitations of Selenium
    As it’s a browser automation tool, hence it does not support testing of Desktop applications.

Share :