What is Selenium

What is Selenium?

If you are in the software testing profession, one of the most often asked questions is What is Selenium?  Simply put Selenium is an open sourced software testing code.  It is becoming more and more popular everyday, and it is fairly easy to learn.  It was created by Jason Huggins in 2004.  He had a need to perform testing on a web application, so he decided to create a JavaScript based tool that could simulate manual testing activities.  The original name was JavaScriptTestRunner.  I am going to walk you through the process learning more about the code and the pros and cons of leveraging this capability.

Benefits

  • Open sourced software testing code allows anyone to use this tool with no software licensing costs
  • Is used to test web based applications
  • It has a very strong community because many software testers use it
  • It can be used with popular software programming languages such as Java and Python
  • Runs on many different browsers across different operating systems
  • Can easily be integrated and leveraged with other tools

Disadvantages

  • Only used for web based applications, so it will not support automation of mainframe or AS400 applications
  • Is supported by the community, so there is no central company that owns the code or provides updates

Components

  • Selenium WebDriver: is a collection of language bindings to drive actions within the web browser.  If you need to create a series of web based test automation scripts you will need to use Web Driver. If you want to learn how to install Java and Selenium WebDriver click here.
  • Selenium IDE: is an integrated development environment.  It is the simplest component of Selenium that allows you to perform record and playback of test scripts. The Selenium IDE is a Firefox add-in that is easy to install and setup.  This helps to uncover defects quickly when you want to use repetitive processes to ensure that nothing breaks when software is changed.  This tool should only be used to quickly record and prototype things to make sure it is going to work.  It will be helpful to know some simple concepts of HTML, JavaScript and DOM(Document Object Model) in order to have a solid foundation on how the tool works. If you need more complex scripting, then you will need to use Selenium Web Driver.
  • Selenium Grid: Is a tool that enables parallel test execution across multiple machines and browsers at the same time.  This saves a lot of time and helps you get through large regression suites.

Click here for additional information on Selenium.

There are also some Big Changes in Selenium 4.

For the official website you can visit Selenium HQ.