I have used WatiN and WebAii but I have limited experience with Selenium. How does Selenium differ from these other tools?

  • 1
    On the basis of "No X vs Y questions" I'm voting to close. We reached the same conclusion on sqa.stackexchange.com/questions/245/qtp-vs-selenium – corsiKa May 19 '11 at 23:29
  • 1
    I think that if you were to rephrase the question with a little more flushed out detail of what you are testing, and ask about the benefits of using Selenium that you wouldn't find in WebAii, it would be a much more valid question. – Lyndon Vrooman May 20 '11 at 0:34
  • 1
    Please don't close questions like these. Vote down vapid answers if you like but thoughtful answers to questions like these have the potential to be extremely useful to many people. – Justin May 20 '11 at 1:06
  • 3
    I rephrased but I don't see how it was necessary. These types of questions are not discouraged on StackOverflow and they provide interesting answers, so why should they be discouraged here? stackoverflow.com/questions/417380/watin-or-selenium – Trish Khoo May 20 '11 at 11:53
  • 1
    She didn't ask, "Is X better than Y?" -- she asked "How is X different from Y?" That sounds like something for which one could give an objective answer. – user246 May 20 '11 at 13:28

Thanks for rephrasing the question.

In this case, I'll describe the differences between Selenium and WatiR/N as those are the two that I'm most familiar with.

The IDE for Selenium is immensely useful for those who are new to programming. It's how I learned my first bit of C#. After a while, it becomes next to useless. The same thing exists for WatiN, the Watin Test Recorder, although I've never actually used it.

If you need to access to more that you can't see on the page, Wat** is the way to go. Need find an element by ANY identifier (I've had to use element width because of lazy developers who wouldn't change anything). Although Selenium is getting better in this regard, I don't think that it's quite there yet.

Cross-browser functionality. Selenium wins this hands down. The browsers for Wat** are somewhat limited while Selenium has been moving to more browsers inclusind mobile browsers.

Ease of Use. Personally, I find WatiN to "just make sense". When I first switched to Selenium, I found the classes to be very confusing. Over time, it's starting becoming more fluid though as I begin to understand it more.

Community Support. WATiR has amazing community support, have a question, it's usually already been asked and documented somewhere. WatiN, let's just say...not so much. Selenium however is the company standard in many organizations and the support for it has been nothing short of amazing.

Hope this helps a little bit.


I've used Watir and a few other tools but the way I see it is that WAT** and some of the other options like that are framework tools, they give you a structure to build around. Selenium is by far a recorder that you can then use that recording in other ways, either export to another language and plug into the framework or if you do need something with a lot of repeatability then its easy to record something small and play it over and over again. Selenium to me allows you to generate quick and easy Unit Tests, which is more of its power in the realm of Free/Open Source tools, rather than a bulky Suite of tools like a Visual Studio which gives you the same function and a whole lot more. Some people record long scripts to play back, but I find those sorts of scenarios useless as they are too fragile, you can make short Units and plug them together in a suite and get more power of the tool.

If you need a free, quick Unit Testable Recorder for short tests that can export to other languages and frameworks, that also can be run in multiple browsers then Selenium is useful. If you need more than that then keep looking for something else.

EDITED to add note:

If you are comfortable coding with Selenium you can do so without using the IDE and just write Selenese in your language of choice. Some people prefer to do it this way, although if you are unfamiliar with the requirements the IDE is a good way to learn, although if you want to do serious testing you will want to extract your scripts into libraries to run your tests later on.

  • 2
    The recording part of Selenium is a very small part. Experienced user of selenium don't go near IDE they write everything from scratch in code. Record and play is probably the least useful part of selenium if you are looking at creating robust and reliable regression tests on a dynamic website. – Ardesco May 20 '11 at 12:41
  • I've done that as well, but there are still a fair number of people I have seen who need a place to start and still use the IDE it's not all about GRID. – MichaelF May 20 '11 at 14:38
  • 1
    You can't make unit tests with Selenium, if you are testing the GUI you are not testing a unit of code, acceptance tests and integration tests or even end to end tests yes but definetly not unit tests. Unit tests are the developers domain, not the testers. – Ardesco May 22 '11 at 14:33
  • 1
    Please don't try and make out that testers call acceptance tests unit tests. This is just plain wrong terminology and continuing to use it will just confuse anybody new to the industry. – Ardesco May 23 '11 at 12:33
  • 1
    This will be my last comment on this then. I'm not saying I haven't come across people using the wrong terminology before, it happens lots. I do however belive that it should be corrected when it happens so that people are taught the correct terminology and in general expectations are set appropriatly. If somebody tells me they want me to write unit tests i'll explain what unit tests are, explain why I won't be writing them and tell them what I will be writing and what the tests I write will deliver. Continuing to use incorrect terminology when you know it's wrong just compounds the issue. – Ardesco May 23 '11 at 15:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.