Selenium and alternative automation tools such as UIlicious, Cypress, and Cucumber, all have a similar goal in mind. But what are the differences between alternative tools and who would benefit from using which? Let's dive in and find out!
Table of Contents:
Selenium is one of the oldest and most well-known automation testing tools in the QA world
The best way to describe Selenium is that it is an open-sourced tool that automates websites. Like most web automation tools, in order to automate websites, it is important to understand that there is no single automation tool that will be the one-all and end-all. The best way to see tools like Selenium is how will this best benefit the project or website at hand. Like many tools, there are pros and cons to using Selenium.
The Pros for using Selenium as a web automation tool
Open Sourced: Selenium is open-sourced which means the framework can be modified according to personal and professional use. This is especially helpful for testing websites containing complex or unique setups.
Supports Multiple Programming Languages: Selenium supports numerous languages including Java, C#, Ruby, Javascript, Perl, PHP, and Python.
Selenium supports cross-browser and mobile testing: Chrome, Firefox, Safari are supported. Additional software is required but Selenium offers the ability to automate mobile testing.
The Cons for using Selenium as a web automation tool
Programming Languages: This can be intimidating and quite daunting to learn especially for manual testers looking to transition over into automation due to the complex learning curve involved.
No support with technical issues: If an automation script is failing, or the QA Tester is having difficulty with their test, a consulting company will have to be contacted for support or from the online community.
Cost: Selenium is free with no licensing costs, but setting up the Test Framework involves a lot of time, which could result in a high initial cost depending on urgency. If the QA team only has a small group of manual testers, the cost to hire additional personnel trained in Automation can also add further expenses. It can also be costly and time-consuming when training the current team.
Test Script Readability: Because test scripts are written in a technical programming language, non-technical personnel will be unable to participate and comprehend the test automation scripts.
UIlicious is one of the newest automation testing tools in the QA world
Similar to Selenium, UIlicious is an automation tool that has the ability to automate websites. Unlike Selenium, UIlicious is a subscription-based tool, but does the cost outweigh the benefits? Let's take a look at the pros and cons of using this tool.
The Pros for using UIlicious as a web automation tool
Supports cross-browser and mobile testing: Chrome, Firefox, Safari along with three versions of are supported. Additionally, testers can test the resolution size for both mobile and tablet.
Live Customer Support: If a user has questions or needs help with their automation test, UIlicious offers 24-hour support.
Additional Capabilities: In addition to writing automation scripts, UIlicious also enables users to schedule automated tests. This means the QA team can schedule their regression tests to run automatically at any time and day of the week. Testers can also run their tests via the CLI (Command Line Interface), perform Get and Post Requests along with Region Testing, and Dataset capabilities available for testing.
Sign up for UI-licious now
The Cons for using UIlicious as a web automation tool
Online Only: UIlicious can only be accessed with an Internet connection, which means users cannot work offline.
Mobile and Tablet limitations: Currently, automation scripts cannot run in specific mobile and tablet iOS or Android versions.
Cost: The tool is not free to use unlike Selenium, but the cost is inexpensive for what users are paying for and in comparison to other automation tools, this is an affordable automation tool.
Limited Community: The community behind UIlicious is smaller in comparison to Selenium, but over time this can shift as the tool becomes more widely used.
Other alternative testing frameworks
Cypress
Automation scripts are written in JavaScript and the tool is ideal for automating cross-browser testing and web-based applications. Users can create tests in the editor to automate software applications and the tool records videos and saves screenshots when errors are found.
Pros:
Able to record videos and save screenshots to help with the tester during the debugging process.
The tool is straightforward and is opened sourced.
Cons:
The learning curve is steep since tests are written in JavaScript.
Only able to automate tests for limited cross-browser testing for Chrome, Firefox, and Edge.
Cucumber
Cucumber is an automation testing tool that focuses on BDD or Behavior Driven Development. The framework uses Ruby, a programming language, and the test scripts are written in a method that is easy to understand. Because this is tool focuses on BDD, Business Analysts and Product Owners create acceptance tests that describe the requirements and criteria from a user's perspective
Pros:
Focuses on the end user's experience since the testing tool's main focus is BDD.
Quick and easy setup and execution with the tests.
Cons:
There is a slight learning curve since tests are written in Gherkin.
Requires collaboration across multiple teams which could be time-consuming.
Protractor
Protractor is an automation tool that tests AngularJS applications and Web Applications. The tool can also be integrated with other technologies including Selenium.
Pros:
Supports both parallel and cross-browser testing.
Ideal for testing AngularJS applications.
Cons:
No support for testing mobile sites and web applications.
The difficult learning curve in mastering the technicalities, if the tester does not have a Selenium background or automation familiarity.
Which should I use?
With so many alternatives, which tool should you use? This all depends on the complexities and monetary budget with the type of project and website.
If the team on the project consists of veteran developers who will play the role of both the builders and breakers, then a tool such as Cypress, Protractor, or Selenium would be ideal.
However, if the team includes a QA team consisting of both Automation and Manual testers, then a tool such as Cucumber, Selenium, and UIlicious would be a better fit.
Finally, if the team consists of mostly manual testers or non-technical users then UIlicious and Cucumber would be a better fit since both use their own testing language, though UIlicious holds the edge over Cucumber because of the simplicity and ease of use.
Sign up for UI-licious now
Final thoughts
As mentioned before, team size definitely plays a role in decision making, but another factor is project duration. Regardless of the project is a one and done or long term, it would make sense to use a more scalable tool that is also cost-effective. Something such as Selenium which takes longer to set up would not be ideal in this situation. UIlicious is a great automation tool because of the ease of use, setup time, and monitoring capabilities means the team can still run tests automatically without having to worry about the What If factors.
Photo by Glenn Carstens-Peters