http://cheeseshop.python.org/pypi/zope.testbrowser/3.4.2
Browser-centric (vs. application-centric) Slightly verbose Works over HTTP (WSGI with wsgi_intercept) Has forms, etc (Mechanize) Next best (after WebTest)
http://www.djangoproject.com/documentation/testing/
Reasonably system Slightly verbose Works over Django request system (not WSGI) Slightly leaky No forms
http://docs.turbogears.org/1.0/Testing#testing-your-view
Very leaky! Tests happen via side effects Global objects everywhere Can call directly into controllers No forms
http://manuals.rubyonrails.com/read/chapter/28
Call directly into controller Actually instantiate the controller in your tests The main functionality is in a TestCase subclass Has some XML/HTML inspection Vigorous debate on best practice:
http://www.anarchogeek.com/articles/2007/9/16/rails-where-the-boundries-are-pushed This is not a good thing Mocks all over the place :(
Works over HTTP (WSGI with wsgi_intercept) Lots of form support (Mechanize) Simple-looking tests Not a complete language
http://www.openqa.org/selenium/
Works in a browser Awkward language Recorders exist Satisfying to watch run
http://windmill.osafoundation.org/
Like a mix of Twill and Selenium? Uses a browser IDE like Selenium
Fancy Javascript recorder?
Experimental command-line Browser can report back to code, like the (confusing) “drive” mode
in Selenium