Recently, I had a debate with some of my colleagues about whether selenium is or is not a testing framework. In this article, we’ll dive into this topic and I will share my perspective on this subject.
What is Selenium?
When we think about test automation, one of the most prominent names in the field is Selenium. Selenium has been released in 2004, and it is an open-source suite of tools and libraries that is used for test automation.
Understanding Selenium's role
Selenium is often associated with automated testing, but it’s important to distinguish between a testing framework and a testing tool.
- a testing framework provides a structured environment for designing, organizing, and executing test cases that includes assertion, reporters, logging libraries, and many more
- a testing tool is a software application that assists in performing specific testing activities
Selenium is a suite of tools that work together to facilitate automated testing, as it follows:
- Selenium WebDriver: This component forms the core of Selenium. It provides a programming interface to interact with web browsers and simulate user actions. WebDriver allows you to write scripts in various programming languages to automate browser interactions.
- Selenium IDE (Integrated Development Environment) is a browser extension, currently supported by Firefox and Chrome. It is one of the simplest frameworks in the Selenium Suite. It provides a record & play feature while we manually perform the tests.
- Selenium Grid: Selenium Grid is used for distributed testing, allowing you to run tests across multiple browsers, operating systems, and machines simultaneously
Note* I said – may include Selenium – because in the last few years, new testing frameworks joined the test automation world and gained significant popularity, that no longer use Selenium at all. (e.g. Cypress , TestCafe, Playwright, and so on).