Selenium Components

2–3 minutes

Let’s consider Selenium components.

Selenium IDE

Selenium IDE is a complete integrated development environment (IDE) for Selenium tests. It is implemented as a Firefox Add-On and as a Chrome Extension. It allows for recording, editing, and debugging of functional tests. Selenium-IDE was created in 2006 but was little-maintained until 2018. With its help, scripts may be automatically recorded and edited manually providing autocompletion support and the ability to move commands around quickly.

Selenium Client API

As an alternative to writing tests in Selenese, tests can also be written in various programming languages. These tests then communicate with Selenium by calling methods in the Selenium Client API. Selenium currently provides client APIs for Java, C#, Ruby, JavaScript, R and Python. With Selenium 2, a new Client API was introduced (with WebDriver as its central component). However, the old API (using class Selenium) is still supported.

Selenium Remote Control

Selenium Remote Control (RC) is a server, written in Java, that accepts commands for the browser via HTTP. RC makes it possible to write automated tests for a web application in any programming language. Selenium project currently provides client drivers for PHP, Python, Ruby, .NET, Perl, and Java. With the release of Selenium 2, Selenium RC has been officially deprecated in favor of Selenium WebDriver.

Selenium WebDriver

Selenium WebDriver is the successor to Selenium RC. Selenium WebDriver accepts commands (sent in Selenese, or via a Client API) and sends them to a browser. This is implemented through a browser-specific browser driver, which sends commands to a browser and retrieves results. Selenium WebDriver is fully implemented and supported in Python, Ruby, Java, and C#.

Selenium Grid

It is a server that allows tests to use web browser instances running on remote machines. With Selenium Grid, one server acts as the central hub. Tests contact the hub to obtain access to browser instances. The hub has a list of servers that provide access to browser instances (WebDriver nodes), and lets tests use these instances. Selenium Grid allows running tests in parallel on multiple machines and to manage different browser versions and browser configurations centrally (instead of in each individual test).

Conclusion

Thank you very much for your attention today!

It was a pleasure for me to discuss with you the main components of Selenium today. I hope you enjoyed our learning and discussion of Selenium IDE, Selenium Remote Control, Selenium WebDriver, Selenium Grid, and Selenium Client API with me together today.

The future of Testing®