Blog

Selenium vs Watir

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:

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

97 / 463

11 Comments

  1. February 8, 2020 at 4:06 pm

    thank you so much for sharing this and keep it up, thanks for this post

  2. August 9, 2019 at 9:39 am

    The point behind this article as well is quite poor. Because Watir “uses” Selenium under the hood. So comparing Watir to Selenium is kind of trivial.

    As mentioned before, nearly everyone “shouldn’t” use selenium. They should use either Capybara or Watir. The API handling they provide for even the most basic stuff (Finding / querying), is much more powerful than selenium on it’s own.

  3. June 6, 2019 at 4:11 pm

    Thanks for sharing all of your experiences!

  4. April 19, 2019 at 5:26 pm

    The primary authors of Watir and Capybara are both core contributors on Selenium, and recommend not using selenium-webdriver directly. If you do use selenium-webdriver directly you will just end up writing a lot more code than is generally necessary. The comparison between Watir and Capybara in this chart is also misleading. Both Watir and Capybara can do the same things with code that looks very similar, with the same ease of maintaining test cases. Not really sure what “much less fighting power” means in reference to Capybara since both Watir and Capybara provide basically identical amounts of functionality. Capybara does provide an optional DSL if the user wants to use it, but it is not required. As in everything, Watir and Capybara are just tools – you can write bad tests in either.

  5. January 7, 2019 at 5:22 am

    Thank you for your details here, appreciate it!

  6. June 22, 2018 at 4:32 am

    Very interesting points you have remarked, appreciate it for putting up.

  7. June 1, 2018 at 3:59 am

    IMO, Selenium is the best option, has a larger community support. I think that the QA people has some freedom about what lenguaje their use, for me is not a must to have the same language that the main project. Think about this: what if the main project has to do a major change or need to integrate another tool with a different language? you will move again in the same direction and rewrite your code?

    1. Federico Toledo
      June 5, 2018 at 7:25 am

      Hehe, this is a good point 🙂

  8. March 28, 2018 at 12:41 pm

    I used both, but if Ruby is the programming language; watir would be a better option, because it exploit the avantages of Ruby. The code to do the same action use less lines of code, but if you are more familiarized with Selenium, and the facts you mention have more importance for you; go for Selenium.

    1. Federico Toledo
      June 5, 2018 at 7:24 am

      Thanks for the answer Rodrigo!! Yes, I loved the way Watir is written, it’s shorter, clearer. Anyway, I still value more the mentioned aspects. Regards!

Leave a Reply

Required fields are marked