Hello, I am curious to understand if Selenium is still something that you use as your test automation tool? Is it something you consider for new projects or would you move on to something like cypress or playwright?
Yes, definitely, selenium is my first choice for automation.
In my current organization, both Selenium and playwright are used for automation on different projects however, I keep exploring Selenium for my own self-projects with Python.
I can relate where these thoughts are coming from, obviously, there is a lot of hype for playwright in the market.
But at the end of the day, every tool has its own pros and cons, if selenium has cons, then playwright also has. However, due to heavy marketing from Microsoft for playwright, it is being assumed that it is the future.
All those legacy projects in which Selenium has been used for automation won’t migrate so easily to Playwright or Cypress, and the reason is simple. Even though Playwright is open-source for now, considering Microsoft as its parent company, most people doubt if it will ever remain open-source.
With so many no-code, low-code & ai tools in the market for UI automation, obviously, time is tough for Selenium, but still,l it’s a stable automation framework that has existed for more than 20 years in the market.
I’m not an automation expert, but I posted a poll on LinkedIn to gauge insight.
Also, a poll here, cause why not?
If you had to choose, what would you go with? Selenium, Playwright or Cypress?
- Selenium
- Playwright
- Cypress
- Something else, please comment
Of course that it depends on what software product you’re testing, what layer you’re testing at, and why and what are you automating to support the testing.
Lately I’ve been building automation tools and data generators directly with python.
As for Selenium vs Cypress vs Playwright vs Robot vs Tosca vs TestComplete vs Katalon…
Sometimes the company already have an automation suite in one of them. And I think the distribution is quite equal between those first 3.
Other times you want to switch because there’s too many limitations in one vs the others (cost, performance, speed).
Also what the other engineers support/like and what the managers steer you towards and what the product code is built with can influence the decision.
Selenium is a tool like any other. We’d want to know the outcome or what we’re trying to validate. Tools like selenium are never my go to thought, I’d always try to shift left and down. So that way we can try to focus on Unit Tests, Integration and then E2E UI tests using something like selenium.
There are many forms of automation, selenium is a tool designed for specific tests. Is it considered, yes, is it my first choice. Not usually, but testing anything GUI is generally lower on my list of test automations.
If it only were so simple
I go with what my clients needs most if the best choice would be Selenium, I’ll pick that, if it’s Cypress, we’ll do it in Cypress
I agree for all the above , also from an interview perspective, Selenium is still very relevant and likely will be for years to come…Many large organizations, esp…enterprises, have long standing Selenium frameworks in place…Selenium WebDriver is part of almost every QA Automation syllabus and is heavily covered in most interview processes…Its a good foundational framework one can start off their automation journey which one can rely on for complex web app esp those that require a lot of browser specific customizations or workarounds.
Test-related automation is much broader than Selenium could ever be. But I know what you mean, so let’s scope this answer to web UI testing.
When I started in my current project, we had a bunch of Selenium tests that nobody touched in few years, so you couldn’t even start them. I introduced new Playwright-based framework and ported existing tests - Playwright was 2-3 years old at the time. Honestly, I am not looking back.
Playwright by default provides a lot of things that usually need to be implemented in Selenium-based frameworks - checking for element presence and visibility before interaction etc.
Tracing is great for test debugging.
I know Playwright has tools for locator querying or creating tests based on your actions, but I have not tried these.
However, Selenium was pretty much the only tool around for a good decade, so there is a lot of existing code that needs maintenance. Another project I am helping has Selenium based automation and over the years they developed most of what Playwright provides. If you compare Playwright with that custom framework, they are pretty even - which makes it that much harder to justify porting existing automation to a new tool.
As @komalgc said, you are still likely to be hired to work with Selenium and encounter Selenium during interviews. So it’s good idea to know something about it and have some experience with it. And at the end of the day, some testing, web testing and web UI testing fundamentals are the same, regardless of tool.