# Propaganda, tools and packages

# Other opinions

Grig Gheorgiu has written a blog entry on Web app testing using twill. Michele Simionato wrote a nice long article on Testing Web Apps, and Nitesh Djanjani tried it out as well.

# Tools based on twill

Petrik De Heus wrote a Wikipedia watchlist RSS feed with twill.

# Tools useful for twill users

Matt Harrison is working on a TestGen4Web-to-twill converter.

# Offshoots from the twill project

I wrote a simple wsgi_intercept standalone package based on the WSGI interception stuff for in-process testing of WSGI apps by twill. This is for people who want to talk directly to their Web apps without going through a network connection.

# Other Python-based Web testing and browsing tools

For those who want to use Python-based toolkits to test their Web apps, there are many great options. Here are the ones I know about:

PBP is very similar to twill -- twill was initially based on it -- but the project seems to be more-or-less defunct. Both twill and PBP are based on mechanize.

funkload is a nifty looking tool that does functional load testing. It is built on webunit.

webtest is an extension to `unittest` for testing Web frameworks. It's primarily used for CherryPy, I think.

zope.testbrowser is a wrapper around mechanize that exposes a more convenient interface for testing. Check out the zope.testbrowser README for more information.

mechanoid is a fork of mechanize that claims many bug fixes and a different programming style. It's primarily used for scripting Web sites, not for testing, but it can easily be used for testing.

PAMIE and PyXPCOM provide a Python interface for interacting with IE and Mozilla-based browsers, respectively.

Finally, Selenium is an in-browser testing system that several people have given rave reviews. Check out this article on Selenium for some starting tips. Note that it's not written in Python...

You might also consider checking out Ian Bicking's proto-implementation of twill in Javascript.

(Thanks to Grig Gheorghiu for assembling much of this list!)

# Tools in Other Languages

As twill is based upon mechanize, so is Perl's WWW::Mechanize::Shell based upon WWW::Mechanize. There's even an HTTP::Recorder. WebTst also looks interesting.

For PHP, web_tester looks useful.