Selenium IDE is back and it is better than ever!
Please note that this post it not a tutorial on Selenium IDE (I shall create one at a later date) rather I am sharing an update on it’s new features and some of them are really exciting. So let’s start.
Ever since the inception of Selenium, it’s recording and playback tool, IDE (Integrated Development Environment) has been very popular. However I always felt that the name IDE is misleading as it’s not really an “Integrated Development Environment”, Eclipse or IntelliJ are examples of IDEs but then what’s in a name, right?
Selenium IDE (or SIDE) has been around since 2006 (Selenium was launched circa 2004) and I personally started using SIDE in 2007 and stopped using it after couple of months, not because the tool was not good but as it served its purpose and I had moved on Selenium’s programming language bindings Java (and eventually Ruby and Python). Personally my learning curve for Selenium was considerably reduced due to graphical recording and playback capabilities of Selenium IDE. Around that time I had written the book on Selenium which was published by McGraw-Hill and it’s still being sold (I take pride in saying that I was the first published Asian author to write a book on Selenium). I did cover a lot about Selenium IDE in that book which got outdated over the years. SIDE was perfect as “training wheel” and you need to know when exactly to take it off otherwise they don’t really serve a purpose and actually become a handicap.
Over the years I have witnessed bunch of new test automation enthusiasts using IDE to their advantage and learning Selenium on fast track. This is the reason I was disheartened when I saw neglect for Selenium IDE in last 4 years (specially after Selenium 2.x and 3.x when support for IDE was entirely dropped). And that’s why I am really glad to share this post that Selenium IDE is back and it’s better than ever!
Selenium IDE is now back again as an extension to Firefox and also to Google Chrome which is a new feature, previously it was exclusive to Firefox. It can a be easily installed as an extension to Firefox and can be accessed via the extension icon in the menu bar:
In order to start it, just click on the Selenium “Handycam” icon (aptly referring to Recording) and you shall see the launch window as the new feature:
You can either open an existing project or create a new one, the concept of project is a new feature, a project is collection of IDE Test Cases so you can think of it as the repository of Test Cases and Test Suites.
An existing project can be selected from the list:
And yes, at last we have default file extension to the IDE Test Cases unlike in previous versions where the .html extension was needed to be provided by the users. The new feature of the project gives file extension of .side to the saved test cases in the projects.
The project is launched in the new refreshed GUI of SIDE, the features on the GUI remain almost the same however the interface is much cleaner and sharp. Please look at by yourself as below:
Now to the most important and exciting new feature of the new Selenium IDE. Now we have the automatic fallback to the next available locator in the list which is available in “Target” field. In order to check this I performed a negative test, I updated the first location in the “Target” field to have a wrong locator by simply adding “wrong” to it which should make the test fail at this step:
But wait, when the new and improved IDE does not find the element for the click command, it falls back to the next locator provided in the list, automatically, non configuration required!
And the test does not fail due to invalid default locator, it continues and uses the next available locator and completes the test execution successfully. This was something which was only possible in the programming language bindings after having coded for error handling and catching the element not found exception and passing another locator as a parameter from an array (or choice of your data structure element).
Another feature that makes the new Selenium IDE special is test synchronization, no more default 30 seconds (or is it 30000 millisec :-) ) time-outs, Selenium IDE automatically adds the waits for you. Again this was something we could only do in programming languages code using Implicit and Explicit waits.
One more feature for the new age testing is to having it enabled for Continuous Integration by running the Selenium IDE tests from command line which can come handy while adding this to the Shell scripts in Jenkins or calling it from anther CI tool. You can learn about npm driven feature on this link → https://github.com/SeleniumHQ/seleniumide/tree/master/packages/selenium-side-runner
I am still in the middle of checking out the features and exploring the possibilities for Selenium IDE in CICD pipeline. Glad to have you back SIDE!!
Please watch video for more details