lunks edited this page Nov 9, 2011 · 20 revisions


Taza is an opinionated browser-based test framework.



  • Generate a project for browser-based testing
  • Generate pages and sites for different applications
  • Create flows that move through a site
  • Use filters to control which elements are accessible on a page depending on its state
  • Taza automatically creates and cleans up the browser for each site just like a File block
  • Manage tests by tags
  • Cross-site testing


  • Taza has only been used in the wild with WATIR, but Selenium support is built-in
  • Taza’s generators currently generate RSpec specs, Test::Unit and other test framework support is planned


Taza is meant to be a refreshing way to look at browser testing. Taza provides a few ways to abstract browser-based
testing into three simple ideas.

Sites have Pages.
Pages have Elements and Filters.
Flows are common actions on a site such as logging in or performing a search.


Here’s an example for starting a project around the Google sites

$ taza google
$ cd google/
$ ./script/generate site google
$ ./script/generate page home_page google
$ ./script/generate flow search google
$ rake spec:isolation:google

That will generate an RSpec HTML report at artifacts/functional/google/index.html

The example above works for Macs. If you’re a Windows user, however…

c:\taza google
c:\cd google
c:\google>script\generate site google
c:\google>script\generate page home_page google
c:\google>script\generate flow search google
c:\google>rake spec:isolation:google