Selenium Testing – The Bright and the Dark Sides

by Kate Libbie | December 26, 2019 9:16 am

What is the first thing that comes to mind when we talk about automation testing? I can’t read your thoughts, but one of them is definitely Selenium. Winning the hearts of many testers, it has become a universal solution for atomizing all kinds of routine tasks. But nothing is perfect and Selenium automation[1] is not an exception. Want to investigate all the pluses and minuses of this solution? Take a more complete look at Selenium tool with QATestLab.

What is Selenium and why do we need it?

The life of a QA engineer includes various duties, not least among them are routine and repetitive tasks that lead to complete demotivation. Here are such examples:

To solve these problems and the whole slew of other cases, there is one word — Selenium.

Covering the routine work with regression, this open-source tool helps to break out of endless cycles of routine tasks. Without the need for manual intervention, Selenium automation testing effectively checks whether the new functionality has not affected existing features.

So what is Selenium? Despite being the most well-known automated testing tool[2], it is also one of the oldest ones. Its history began in 2004. The main focus of this tool is to conduct automated testing of web applications in various browsers and on various platforms.

However, everything is not that simple. There are various kinds of Selenium. For instance, you can stumble upon different variations like Selenium 2.0, IDE, RC and more. What do all these terms mean? All of them are components of the Selenium suite. Here is a simple overview of the functions of each of them:

selenium suite constituents

  1. Selenium WebDriver is a software library for managing browsers. This is a whole family of drivers for various browsers, as well as a set of client libraries in different languages that allow you to work with these drivers. This tool is also called Selenium 2.0.

  2. Selenium RC is the previous version of the browser management library. The letters RC in the title stand for Remote Control. Currently, this tool is in a mothballed state and isn’t updated anymore. You can also meet the alternative name of this tool – Selenium 1.0.

  3. Selenium Server acts as a remote agent between Selenium commands and browser. It means you can use this tool along with Selenium WebDriver as a server for remote controlling. Or when you want to connect to a remote machine that has a particular browser version and is not on your current machine.

  4. Selenium Grid is a cluster of several Selenium servers. It is designed to organize a distributed network that allows you to simultaneously run many browsers on a large number of machines. One of the tasks of Selenium Grid is to “select” a suitable node when running a browser with adding requirements like browser type, version, operating system, processor architecture, and several other attributes.

  5. Selenium IDE (Integrated Development Environment) was initially positioned as a plugin for Firefox, and since 2018 it is a plugin for other browsers. This tool is one of the most popular; it allows us to record user actions and generate code for Selenium WebDriver. But it is not just a regular recorder. It is a tool with editable code, debugger recorder with Embedded code support.

As you can see, the word Selenium – is a broad concept or an umbrella holding several automation testing selenium products together. So don’t be mistaken when calling any of these five products just Selenium.

How much Selenium is used in actual QA testing

Testing held by Selenium is usually referred to as Selenium Testing. The main focus of this type of testing is on web apps both through cross-browser and cross-operating-system approaches. Although each of the tools from the Selenium suite has its function, the major place in testing routine is held by Selenium IDE.

Why do testers use Selenium IDE more frequently? Here everything is simple. This is a simplified version for non-coders to solve all kinds of problems related to testing web apps. Overall, this instrument “automates browsers” and provides a record/playback opportunities without learning a test scripting language.

But what about mobile apps testing[3]? As already stated, Selenium is an automating suite only for web applications. You will not find selenium software testing tool or anything other things related to selenium software testing. But if you are interested in similar products, there are a few options for you:

In general, these tools are similar, because they are all built on the same architectural scheme and their interface is 90+ % identical to Selenium.

Pros and Cons of Selenium as an Automation Testing tool

Are Selenium tests good enough for winning the web automation race? Here is the list of disadvantages and advantages of selenium components to give you a better understanding.

Let’s start with the most frequently used tool – Selenium IDE. The pros and cons of this tool look as follows:

selenium IDE characteristics

Selenium RC has also its number of advantages and disadvantages. If you want to use this tool you need certainly be aware of these aspects:

selenium RC characteristics

What about Selenium WebDriver? It also has some significant drawbacks, and here they are:

selenium WebDriver characteristics

The last but not least. The pros and cons of Selenium Grid look as follows:

selenium Grid characteristics

Conclusions

To use Selenium test or not? This is rather a meaningless question. Right now despite even all the existing drawbacks, Selenium is the most powerful tool and there is no worthwhile alternative on the market.

At the same time, remember one important thing – learning how to automate is easy, but learning how to automate CORRECTLY is a huge job in gaining knowledge. Most importantly, Selenium is just a tool, not a panacea for all diseases. Have a nice testing learning journey!

Do you have something to add? Feel free to give your opinion in the comments below. Don’t forget to visit our blog if you are inspired to learn more about Quality Assurance/Quality Control processes.

Learn more from QATestLab

Related Posts:

Endnotes:
  1. Selenium automation: https://qatestlab.com/services/test-automation/
  2. automated testing tool: https://blog.qatestlab.com/2018/03/27/tes-automation-frameworks/
  3. mobile apps testing: https://blog.qatestlab.com/2017/06/22/mobile-presence-need/
  4. The Specifics of Selenium Grid 2: https://blog.qatestlab.com/2017/03/23/selenium-grid-2/
  5. Selenium 2 makes automation debugging easier: https://blog.qatestlab.com/2011/03/28/selenium-2-makes-automation-debugging-easier/
  6. Selenium Auto Accept Self Signed SSL Certificates and Basic Authentication: https://blog.qatestlab.com/2011/03/19/selenium-auto-accept-self-signed-ssl-certificates-and-basic-authentication/

Source URL: https://blog.qatestlab.com/2019/12/26/selenium-testing-characteristics/