Evolution of Web-Browsers Test Automation.

Evolution of Web-Browsers Test Automation.

First steps in test automation

Since the day the first web application was created, it of course had to be tested somehow. Initial testing efforts were manual. But web applications were becoming increasingly sophisticated so engineers have started to look at how the testing efforts could be automated. This this how the Selenium WebDeriver was born.

Back in 2004, the first version of open-source Selenium RC was released to the community by Jason Huggins from the company ThoughtWorker. It was buggy, often crashing in Internet Explorer, but was a first step. When Jason moved to Google in 2007, another person from ThroughtWorker, Simon Stewart, released another testing tool which he called Selenium Web Driver. Then in the Google Test Automation Conference the same year, both engineers participated with their tools and they announced to combine the efforts to work on a single tool for test automation. The result of this work was the release of Selenium 2.0 in 2011. This version became insanely popular in the community and “de facto” became the gold standard for many years to come in web-browser automation.

The Era of JavaScript Test Automation Frameworks

JavaScript is the only language that is natively supported by the web browsers. So it is pretty logical to use this language for the browser test automation, so the browser will understand the commands in the same language, instead of using a “WebDriver” which translates the test script to be understandable for the browser language.

One of the first JavaScript-based frameworks Webdriver.io released in 2014. It was still using a WebDriver, but was running on Node.js and seamlessly integrated into the JavaScript ecosystem. It was a great first move, but since it still had a dependency on WebDriver, it was not able to surpass the classical Selenium WebDriver.

There were also frameworks such as TestCafe, Puppeteer, and a few others, who were trying to create something new and revolutionize the approach to test automation, but unfortunately non of them succeeded.

Cypress framework

The breakthrough moment happened in 2017 with the release of the Cypress framework. This framework has a completely new architecture based on the Mocha test framework. The core difference compared to WebDriver is that tests executed directly in the browser! Since the framework is on JavaScript, and the browser understands JavaScript perfectly; it helped to eliminate the middleware (translator) in the form of WebDriver from the equation. As a result, the test execution became significantly faster and more stable! Cypress is one of the leading test automation frameworks on the market; seriously competing with Selenium and increasing it’s market share

The newest and rapidly growing JavaScript-based framework Microsoft Playwright. This framework released in 2020, but very quickly gained traction in the industry! Playwright combines the flexibility of WebDriver and the speed and stability of Cypress. No wonder why Playwright is competing hard with Selenium. Here is the chart representing the “stars” popularity of Cypress vs Playwright vs Selenium on.

The growth of the Playwright since 2020 is exponential!

How to learn test automation in 2024?

There are multiple ways. Cypress and Playwright frameworks have pretty good documentation. Significantly better than Selenium for example. So if you are the kind of person who likes to read – documentation would be the best approach. 

YouTube is a pretty good source of free knowledge too. The only problem there is to filter the content and find trusted instructors. If this is the first framework that you are trying to learn; this approach can be very challenging, because of the poor support. When you need help in case something does not work on your computer as shown in the video; it will hard to get the instructor’s help, so you are stuck in the middle of the learning process.

A slightly better way to learn is by buying video courses from platforms like Udemy or Udacity. That way you can expect at least better instructor support, but not guaranteed. Check the reviews of other students to make sure you make the right choice. The disadvantage though, is that you still have only videos. You will not have any other types of learning activities; so it’s pretty easy to miss something important from just watching the video.

It’s always better to learn a new tool with a mentor who can guide you through all the pitfalls and clear all misunderstandings. This way you will learn the best practices and lay down the solid foundation for your skills. Here is one example of Test Automation Academy where you can pick up different test automation skills, including the popular Playwright framework. The advantage of this hybrid approach is obvious: you learn the new tool at your convenience, whenever you have time. But you have an instructor nearby, who can answer any of the questions and provide support. Also performing the homework assignments, you will develop your own “hands-on” skills, and memorize the theoretical knowledge significantly better.

What is next?

Test automation is a new and essential skill of every Software Quality Engineer. With the growth of tools and test automation software companies want to optimize their work from day one; so they are looking for testers who can automate their work. Just pure manual testers are going away from the market; and it’s harder and harder to find a job without test automation skills. But luckily, the market of education provides plenty of options, on how those skills can be obtained. It’s only a matter of setting the goals and dedication.

Leave a Reply