Selenium is a suite of open-source testing tools for web apps that can be utilized across multiple platforms and browsers. Selenium is comprised of four different tools, each providing a different testing capability.
Parts of the Selenium Testing Suite
- Selenium Integrated Development Environment (IDE)
- Selenium Grid
- Selenium RC
The “Same Origin” Policy Issue
Introduction to Selenium IDE
The Selenium IDE or Integrated Development Environment allows us to record, edit, and debug tests. It is available as both a Firefox/Chrome plugin that can be installed as easily as any other browser plugin. Due to its simplicity, the Selenium IDE should only be used as a prototyping tool with Selenium RC and WebDriver capabilities.
|Selenium is very easy to use and install||Is not designed to produce prototypes of tests|
|Knowledge of HTML and DOM are needed,|
but no other programming languages are required
|Developed to be a prototype tool|
|Selenium IDE can export tests to the Selenium RC and WebDriver tools||No support for conditional operations and iteration|
|Selenium IDE has built in help options as well as test results reporting modules||Test execution is slow compared to that of Selenium RC and WebDriver|
|Selenium IDE also provides support for extensions|
Introduction to Selenium RC
Selenium RC is the cornerstone testing framework of the entire Selenium project. It is the first automated web testing tool that allows users to utilize a preferred programming language. As of version 2.25.0, Selenium RC supports the following programming languages:
|Cross-browser and cross-platform||The installation is more complicated than the IDE|
|Can perform looping and conditional operations||The user must have programming knowledge|
|Can support data driven testing||Needs Selenium RC Server to be running|
|Has matured and complete API||The API contains redundant and confusing commands|
|Can readily support new browsers||Browser interaction is less realistic|
|Slower execution than WebDriver|
Introduction to WebDriver
|A more straightforward installation than Selenium RC||Installation is more complicated than Selenium IDE|
|Communicates directly to the browser||Requires programming knowledge|
|Browser interaction is more realistic||Cannot readily support browsers|
|No need for a separate component such as the RC server||Has no built-in mechanism for logging runtime messages and generating test results|
|Faster execution time than IDE and RC|
Introduction to Selenium Grid
When used together with Selenium RC, Selenium Grid allows for simultaneous testing across different machines and browsers at the same time.
Features of Selenium Grid:
- Selenium Grid enables multiple tests to be run in different browsers and environments simultaneously.
- Selenium Grid is very cost-effective in its ability to save time.
- Selenium Grid also utilizes the hub-and-nodes idea. The hub behaves as a central location for Selenium based commands dispersing to every node connected to it.
Now that we have outlined what Selenium is, what it is used for, and what are the prevalent tools that it uses, we will stop here. In our next article, we will cover the installation of each separate tool, how they are used, plus a comparison between Selenium and its main competitor QTP (HP Quick Test Pro), now known as Micro Focus Unified Functional Testing (or UFT).
Want More Information?
We can provide multiple use case examples where Selenium can assist you with unit testing your applications in multiple environments.