Last year we had a student working during GSoC on an module for automated webapp tests for MyFaces core + extensions. The outcome of this project was "webapptest".
"webapptest" uses Arquillian and HtmlUnit to run JSF (integration-)tests against a real servlet container with a "real" browser, allowing to do assertions on client and on server-side.
The current version of webapptest is pretty much the outcome of last year's GSoC, however, with some bugfixes and some improved features (see MYFACESTEST component webapptest). Some features could not be implemented last year, because they were technically impossible.
Although it already works pretty well, there is still a lot of work to do:
- The initial goal of "webapptest" was also to be able to run one test against multiple containers with different configurations (e.g. tomat 6.0.31 + MyFaces 2.0.3, tomcat 6.0.31 + MyFaces 2.0.4, tomcat 7.0.1 + MyFaces 2.0.4, tomcat x.x.x + Mojarra 2.0.x, Glassfish 3.1 + Mojarra 2.0.x, etc ...), allowing MyFaces extensions to automatically test and prove their interoperability! This task is not a very easy one, because it requires a lot of ClassLoader related work.
- The API + assertion possibilities need to be improved
- Better error messages + tracing
- the implementation must be more stable (along different containers)
- type-safe dependency configuration (including automatically resolving transitive dependencies)
Thus, I think it would be very great to have a student working on this stuff again in this year's GSoC.