On August 8, 2017, Firefox released version 55.0, and Selenium IDE officially died.
From Firefox 55 onwards, Selenium IDE no longer worked.
The Selenium testing world would never be the same.
Some mourned, some cheered, but everyone had to come to grips with the fact that Selenium IDE was gone.
I soon began hearing rumors about a replacement.
Something called Selenium Builder being the eventual replacement for IDE was announced as far back as 2013 at the Boston Selenium Conference.
But it never gained traction.
About a year ago I began hearing another rumor about Appitools taking up the cause to resurrect Selenium IDE.
I truthfully never thought it would amount to anything until I spoke with Dave Haeffner about it on Test Talks.
What Happened to the Old Selenium IDE?
It’s the same with any piece of software. Developers are continually working on ways to improve their product.
As a result of this change, the Selenium IDE firefox version broke and was no longer supported.
Also, because Selenium IDE was an open-source solution, there wasn’t anyone that had time to keep up with improving and updating Selenium IDE to adapt to those changes.
So in effect, IDE was dead until Applitools came along to resurrect it.
Applitools to the Rescue
A year or so ago the IDE team took the older version and began to rewrite it to make use of modern APIs. It also made use of Sideex, as well as some of the original IDE code.
The result was a new IDE that should have been familiar to old-school IDE users. But it also offered better locators and better support for common tasks.
Also, whereas the old version of IDE only supported Firefox, Applitools has tried to make the new version usable against any browser that supports web extensions (currently Firefox and Chrome).
Wait! Isn’t Record and Playback a Bad Idea?
Dave and I agree that there's a stigma attached to Record and Playback. And I think that stigma is rightfully earned—especially in most cases involving the older Selenium IDE.
The older IDE tool wasn't modernized or built to keep pace with some of the solutions to the known problems we experience in the automation testing industry.
For instance, when you recorded a test using the older Selenium IDE, your tests invariably ended up with brittle locators, which caused the majority of Record and Playback scripts to fail, and also made them hard to maintain.
One of the main things the Applitools team did was to find ways to improve the selector accuracy.
When you use the new Selenium IDE, not only does it record a selector for you, but it also automatically generates other locator options, which means you can go in and quickly change to a more desirable locator.
In my mind, locator accuracy is probably one of the most frequently cited reasons for why Record and Playback tools are terrible.
Command Line Runner
One brand new change to the project is the creation of the Selenium SIDE runner.
SIDE allows you to run your recorded Selenium IDE tests from the command line. This effectively acts as an automation framework for you.
The runner gives you some cool features, like:
- Pass capabilities
- The ability to run tests on remote WebDriver servers
- The ability to filter tests
- The ability to change your base URL
- Uses YAML configuration file
- The ability to run tests in parallel on multiple workers
I think that being able to run tests in parallel is one of Selenium IDE’s best new features. You can now easily take the tests out of the IDE and run them with parallel execution that is guaranteed to be thread-safe.
The command line runner also makes it possible to take your Selenium IDE tests and run them in your CI/CD systems.
Selenium IDE: Just for Newbies?
Back in the day, folks may have begun learning Selenium by using the IDE, and over time moved on to creating tests in code directly.
But Dave mentioned that they’re trying to make IDE more approachable for more technically advanced people.
The goal is to reach a point where one has a choice between doing it in code or doing it in IDE.
Since it offers all the bells and whistles for free (and you don't have to build anything), it might become a better option for you in certain situations—even if you have expert developers doing the automation for you.
Dave’s thesis is that if you think poorly of Record and Playback, you most likely have an old, stale story, and you might want to rethink your objections.
What about Exporting Tests?
As of the time of this writing (I will update), exporting is not available. But it is coming soon. Of course, they’ll need to prioritize which languages to work on first, and will be starting with Java.
Other IDE Enhancements
Besides supporting previous IDE functions (like exporting test to your favorite programming language), some new enhancements will be coming.
- Control Flow (loops and conditionals) *Update Version 3.4.4 You can now use conditional logic in your tests with the Selenium IDE flow control commands if, else if, else, end, while, times, do, and repeat if.assert and verify commands Use the assert and verify commands to check the value of a variable against an expected value.
- Fallback Locators (to make a test more resilient, and able to automatically try alternative locators if the original one is not found at runtime)
- Data-driven testing functionality
- A tool to take old existing IDE tests and reformat them to the new version
Is Selenium IDE Right for Your Team?
So when should you use Selenium IDE?
Dave listed some ways to tell if Selenium IDE is right for you or your team. Here are some of them:
- If you or your team are not programmers
- If you want to quickly automate boring/repetitive tasks
- If you’re looking for a simple way to report a bug, why not have your users create a Selenium IDE test of the issue?
- If you’re just getting started with automating your test suite
Seeing is Believing
Should you try out the new Selenium IDE?
I think it's worth considering—especially now with the work that Applitools has been doing on it. In time, it should be able to do everything you need—things that used to require you to build your own custom framework.
The IDE team is trying to develop the new version in a way that is reasonably universal so that it works well in virtually any use case.
The goal of Selenium IDE is to offer a robust and useful tool to help people who might not have the capacity or skill to write tests with code; users who want to be able to get up and running quickly. It’s also geared toward folks who already have an existing set of older selenium IDE scripts, and want to continue to use them.
The vision is to try to make sure that everyone has the ability to do automated testing and do it well.
If you have developers who want to do automation the IDE may not be for them, but that doesn't mean that it's the lousy tool it used to be.
Still Not Sure About the New Selenium IDE?
Look. I get it.
Like with most resurrections, you’re going to have plenty of folks who are unbelievers. But I’m pretty certain that seeing (and trying) will lead to believing.
See Selenium IDE in action in my Selenium IDE Tutorial video on Selenium IDE Getting Started Guide post.