Zope:

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)

Django:

http://www.djangoproject.com/documentation/testing/

Reasonably system Slightly verbose Works over Django request system (not WSGI) Slightly leaky No forms

CherryPy/TurboGears 1:

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

Rails:

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:


Twill:

http://twill.idyll.org/

Works over HTTP (WSGI with wsgi_intercept) Lots of form support (Mechanize) Simple-looking tests Not a complete language

Selenium:

http://www.openqa.org/selenium/

Works in a browser Awkward language Recorders exist Satisfying to watch run

Windmill:

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

This Page