No matter the programming language, life is easier if you do not try to generate your Controller. Now your test environment can be 100% static.
Going static include some additional advantages:
- You can interact with the interface by hand. When the tests are done, you still have a working HTML page to pick at.
- You can trace and debug any failing assertion using Firebug or the IE debugger.
- There is no roundtrip to the server. Things can only be fixed up to the HTML API, so there is no point in thinking in java at this point.