Choosing between these two test automation tools for an automation framework
I recently got started on a client project in which I’m putting together an automation framework, where, luckily, I’ve been given some objectives that are quite clear to fulfill. I want to discuss one of the things that I am considering in regards to the project (in case anyone has some helpful insights!) which is: What automation tool should I use? In the ring, I have Selenium vs Watir.
On the one hand, Selenium seems to me the most natural option, the most popular open source tool for web browser automation. The de facto standard. But, when I was discussing it with my colleagues at Abstracta, they recommended Watir, which is better for Ruby.
So, I started to investigate a little more. Before I start comparing the two tools, I would like to comment on why this particular language choice.
Language
If it were for me, I would program in Java, since that is what I have more experience in, but the client’s team programs in Ruby. But, that’s okay, I can be flexible! Since I hope that the developers consider automation as a value-add to them in the future which they can extend, maintain, improve, utilize, etc., I prefer to stick with Ruby. Even though with automation, when taking a black box approach, the language used for the system code is less important. Anyway, this argument isn’t a minor one— as testers, we should always seek to team up with developers, and not go in a separate direction from them with our technological stack.
We’re all on the same team, right?
Automation Tool: Selenium vs Watir
I started to investigate a bit, focusing on open source web browser automation tools for Ruby that integrate with:
- Cucumber (when thinking about BDD)
- BrowserStack or SauceLabs for cross-browser testing,
- Applitools for visual testing
Here’s a small comparison chart. I also threw Capybara into the ring (but for my purposes, it had much less fighting power than the others).
Watir | Capybara | Selenium | |
Language Approach | Object oriented | DSL | Object oriented |
Original release | 2008 | 2009 | 2004 |
Popularity | 3rd | 2nd | 1st |
Active? Last release | 2 weeks ago | 1 month ago | 2 month ago |
Ease of maintaining test cases | 1st (uses Selenium under the hood, providing a better API) | Worst (read discussion) | 2nd |
Cucumber Integration | Yes | Yes | Yes |
BrowserStack and SauceLabs integration | Yes | Yes | Yes |
Page Object pattern | Yes | Yes | Yes |
Browsers | Chrome Firefox EdgeInternet ExplorerSafari |
Uses different drivers, including Selenium | Firefox latest releases. Internet Explorer 7-11. Safari 5.1+Opera ChromeEdge |
Headless browsers | Yes | Yes | Yes |
Locators | Id, Name, CSS selectors, XPath | Id, Name, CSS selectors, XPath | Id, Name, CSS selectors, XPath |
Conclusion
My conclusion, for now, is that there aren’t any big differences between Selenium and Watir. While I started out wanting to go with Watir, there are other factors that make me think about switching to Selenium:
- Better support (a greater community implies more forums, more resources, examples, problems solved).
- It’s more likely you’ll find someone with experience in Selenium than in Watir (although knowing one, it doesn’t take long to learn the other).
- It’s more popular and more accepted. Every time I tell someone that I’m going to use Watir, I end up saying, “It’s something similar to Selenium.” Why not just use Selenium?
- The reason why someone recommended Watir to me is because it has an API that makes it easier to read, I am not convinced that it really does make it much easier.
So, for now I am choosing Selenium…
What would you do if faced with having to choose between Selenium or Watir? Leave me a comment below!
Recommended for You
The 4 Most Common Test Automation Challenges (and How to Overcome Them)
Losing and Regaining Confidence in Automated Tests
Related Posts
Best Salesforce Automation Testing Tools for 2024
In this article, we uncover the transformative power of Salesforce automation testing tools. With the right choice, you can revolutionize your testing process and achieve superior test coverage. By Abstracta Team Salesforce automation testing tools are the backbone of any successful Salesforce implementation. By automating…
Benefits of Automation Testing
Dive into the benefits of automation testing and its reshaping of the software development and testing process. In the realm of software testing, innovation is synonymous with progress. Automated testing promises not only efficiency but also accuracy, consistency, and comprehensive coverage. While its adoption means…
Search
Contents