I have used WatiN and WebAii but I have limited experience with Selenium. How does Selenium differ from these other tools?
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
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.