WebTest Key Characteristics
Here is a short overview of WebTest characteristics
Pros
- Simple
- Fast
- Excellent Reporting
- Very low TCO
- Runs everywhere
- No display needed
- Easy to extend
- Straightforward integration
- Doesn't accept (too) badly formed html
Cons
- Javascript support not as good as in "normal" browser
- Doesn't accept (too) badly formed html
Explanations
- Simple
- WebTest has an easy syntax with steps having meaningful names that can be understood even when you don't know WebTest. Additionally, the recorder allows you to quickly generate a first draft of your tests that you can adapt and refactor to build robust tests suites. Don't forget: capture/replay is the least cost-effective way of automating test cases!
- Fast
- WebTest doesn't download CSS or images and doesn't need to compute page rendering.
- Excellent Reporting
- Perhaps the most important feature. JUnit like reports are not enough to understand why a test fails and WebTest reports provide all information allowing you to quickly understand the failure cause.
- Very low TCO
- Some user testimonials say it better than long explanations: "the ROI on WebTest is many orders of magnitude higher than any other tool I've used", "Support = good and $0", "It still Just Works", "It has been remarkably robust, mature, and bug-free", or "tests are much quicker to write and cheap to maintain".
- Runs everywhere
- WebTest is plain Java and runs everywhere as long as you have a JDK for your operating system.
- No display needed
- This means that you can continue working on your computer while your test(s) run.
- Easy to extend
- No matter which tool you use, you will reach its limits and need to extend it for your custom needs. It's only a question of time. With WebTest you can simply create your own steps without technology mix, exactly like WebTest's own steps in Java or in Groovy and access the whole API of HtmlUnit, commons-httpclient, ... to enhance WebTest for your special requirements.
- Straightforward integration
- WebTest scripts ARE Ant scripts. This means that you have directly an easy integration in continuous integration tools like Cruise Control, support in your favorite IDE, ...
- Doesn't accept (too) badly formed html
- "Real" browsers accept really badly formed html code what WebTest can only do to some extend. Good or bad? We (the WebTest developers) want to create correct web applications and we see this as a feature rather than as a disadvantage. After all, testing should lead to better quality.
- Javascript support not as good as in "normal" browser
- WebTest simulates Firefox' or Internet Explorer's way to execute JavaScript. This behavior is simulated, which means that it doesn't work as good as in "real" browser. So, how bad is it? Not that bad at all, even complex js libraries like DWR or Google Maps already work and development in HtmlUnit (the underlying browser) progresses rapidly with the upcoming release supporting Prototype, GWT, etc.