Mechagen is a tool for generating automatic Zope2 (and Plone) functional tests
for the mechanize framework.

The mechanize framework can be used to write Zope2 functional tests in a
flexible way and is getting also used in Plone products. However, it lacks
support for automatic generation of tests. Mechagen is a tool that adds this

(zope.testbrowser, zope.testrecorder also offer such a framework. Mechagen was
not influenced by them and integration with these libraries will be done only

The followings characterize the generation process:

- All the tests will be ZopeTestCase based python code, so the integration
  between traditional (non-functional) and functional tests are complete. There
  is no need for a separate test runner but the same runner runs all the tests,
  both functional and traditional ones.

- The generator automatically records a given interactive series of requests,
  and generates a test method from it. Although the generated code can be used
  as a test without any modification, it should rather be thought of as a
  template to be edited prior to usage.
- The generated tests run in the sandbox provided by the ZopeTestCase
  framework, which ensures that each test runs independently in the custom
  environment set up for it.
- The interactive recording will go forth in exactly the same sandbox that is
  designated to run the test later.
- The generation process should be easy to use, no extra tools should be
  necessary and the entire process should be easily manageable from within the
  test runner environment.

You cannot test javascript in your pages with this method, but "everything
until that".  So mechagen cannot replace Selenium but you can do much richer
functional testing with it and you can complement these tests with Selenium
generated ones.

It fully supports Plone.

It has a plugin mechanism for extending the generation of checks for your
custom page types.

The code is beta quality, error reports and comments are welcome.

For more information, please visit .

Balazs Ree, ree at

Zope maillist  -
**   No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to