Canoo Webtest WebTest Canoo

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.

news

Latest build: R_1823
Posted: 20-Feb-2013 12:26

WebTest 3.0 released, featuring upgrades to Java 5, Groovy 1.6, and HtmlUnit 2.4.
The release includes support for maven integration, IDE-integration like for unit tests, capturing of background JavaScript errors, new steps for mouseOver and mouseOut events, better parallel execution of tests and - as usual - lots of handling improvements.
Posted: 5 March 2009

WebTest @ JavaOne
Dierk König presented "Functional testing of web applications: scaling with Java" on Wed May 7, 13:30 at JavaOne 2008 in the Tools and Scripting Languages track.
Posted: 8 May 2008

New WebTest screencast available:
Data Driven WebTest
Posted: 13 November 2007

First WebTest screencast available:
Creating a first Webtest Project

Extend WebTest with Groovy! Groovy in Action is available in every good bookstore.
Groovy in Action
Posted: 29 January 2007