Note: these are just my findings so far, they may change...
Test Complete
- Commercial but very good
WatiN:
- Free
- Using which you can write C# test code and interact with the UI elements; entering text, clicking, etc.
- Very easy to use for a C# Developer within Visual Studio.
- Multibrowser support including IE.
- Has no IDE.
- Packaged with Nugget.
- No native xpath support unlike Selenium.
- Doesn't support record/replay natively; however, you could try using WatiN Test Recorder to record and replay your site by IE 6.0! Therefore, Selenium is better in this sense.
- Unlike Selenium, it automatically waits for the page to finish loading, and can detect when it's finished loading.
- IE, Chrome and Safari Web Drivers
- Free
- Download the Selenium WebDriver from NuGet: http://www.nuget.org/packages/Selenium.WebDriver
- You can write C# code and interact with the UI elements.
- Built-in CSS selectors/XPath support
- You can record/replay.
- Supported browsers and programming languages are very limited.
- The Selenium IDE only works with FireFox and unfortunately IE, Safari and Opera are not supported currently. The Selenium IDE is just a FireFox plugin, not an independent IDE.
- Much more complex to learn than WatiN. So, you can't record and replay using IE.
- It has various tools (Selenium IDE, RC, Grid, Web Driver)
- More popular than Sahi.
- Ajax support.
- Selenium Documentation
- It doesn't know when the page is loaded, unlike WatiN, which makes it a bit annoying. There is a workaround and I'll post it here when I find few minutes.
- It doesn't work well with iframes unlike WatiN but you can still navigate to an Iframe within another page and get elements of that iframe.
- XPath Selectors: http://release.seleniumhq.org/selenium-remote-control/0.9.2/doc/dotnet/Selenium.html
- Selenium Grid is used to run multiple tests and browsers simultaneously:
- Example: http://selenium-grid.seleniumhq.org/run_the_demo.html
- Requied components: http://selenium-grid.seleniumhq.org/get_started.html
- Download: http://selenium-grid.seleniumhq.org/download.html
- PhantomJSDriver: Selenium Driver without Opening Browser:
- Free and Commercial: feature comparison table.
- Supports all major browsers.
- You can record and replay.
- Has its own IDE
- Test success/failure report in HTML
- You can run the tests using batch file or ANT scripts.
Poor documentation.- Online help: http://sahi.co.in/w/using-sahi
- Guideline PDF
- Small community.
- Commercial
- They support CodedUI
LoadUI/SoapUI
- Allows load testing functional behaviour and measure performance.
- Allows us to record and replay user activity on the page
- Good for load and performance testing