In order to optimize the development process for a time and cost application in Python, Jason Huggins created the JavaScriptTestRunner in 2004 – the core element of the web testing framework now known as Selenium. Initially, the tool was only used internally by ThoughtWorks, the software company where Huggins worked at the time. After he switched to Google in 2007, he advanced the development of the open-source software (Apache 2.0 license). Following a merger with the API WebDriver, the testing framework was given its current name: Selenium or Selenium WebDriver.
Today’s version of Selenium is based exclusively on HTML and JavaScript, and enables developers to test and record interactions with a web application, and repeat automated testing as often as necessary. The key components that make this testing process possible are:
- Selenium Core: The core module contains the basic functionality of the framework, including the JavaScriptTestRunner as well as the underlying test command API.
- Selenium IDE: Selenium IDE is the development environment of the testing framework, which serves as a basis for the IDE extension for Chrome and Firefox, among other functions. This is required for recording and running tests.
- Selenium WebDriver: WebDriver is the key interface for simulating user interactions in any browser – whether it’s Firefox, Chrome, Edge, Safari or Internet Explorer. Since 2018, the API has been an official W3C standard.
- Selenium Grid: Selenium Grid is an extension of WebDriver or rather its predecessor Selenium Remote Control (RC), which enables tests to be run simultaneously on multiple servers. This allows the test length to be reduced significantly.