A flexible, full-featured distribution for running Mech tests. Too bad its own tests have been failing for years. Impossible to install without a force; normally I'd skip it but I require it to resolve a dependency.
*The* module for all your website-testing needs. It takes a while to get used to the commands (especially if, like me, you used LWP extensively before discovering WWW::Mechanize, which this module derives from), but once you do you get a testing environment perfectly suited for testing websites. A real workhorse.
A well-documented, regularly-maintained member of the Test genre which provides methods as simple and straight-forward as those in Test/Test::More, for getting, posting, and testing web server responses.
However, this module is of little use when working with a modern, AJAX-driven site:
* Does not parse JavaScript, which is no easy task but increasingly important to testing AJAX-driven sites.
* Does not parse JSON.
* Does not allow HTTP methods outside of those listed in the HTTP::Request::Common module.
Caveat: some of my code uses an "import" routine, without using Exporter.pm and its %EXPORT_TAGS-type variables. This causes WWW::Test::Mechanise to halt with compilation errors. This has just been reported, but is worth bearing in mind.
This module is a highly useful tool for testing web applications. The documentation has a few weaknesses and I had to go to the source code a couple of times to figure out how to use the methods correctly. But otherwise, I have nothing but praise for this module.
The author is VERY responsive. How refreshing! :-)
If you write web applications, you probably need this module. It's like the beautiful love-child of Test::More and WWW::Mechanize. You say, "Go here and do this, and that should happen" and it takes care of telling you how you screwed up. Sure, you could just use WWW::Mechanize and a bit of glue to make it work with Test::More, but why bother? This modules makes web testers happy.