Proposal for Latka Package

(0) Rationale

Testing websites is a pain. Many regression tests for a website can be verified automatically, speeding up the quality assurance process and allowing the engineers to focus on the more important issues. Additionally developers may want to monitor their development, QA and production environment, so that they can be sure that everything is running as they expect.

Latka is an HTTP functional testing suite for automated QA. Latka suites are XML documents, which can be written and/or modified without writing Java code. Latka tests can be created quickly and modified easily, even by engineers without Java experience.

(1) Scope of the Package

The Latka project shall develop an XML-based syntax for HTTP-based functional tests. Latka will support, at the least, SSL communication and cookies.

Included within Latka are classes that simulate a user agent. While the backend HTTP communication is handled by the HttpClient Commons component, the Latka interfaces simulate some of the behaviour of an actual web browser, including automatically passing cookies from request to request in a session. We hope to integrate these classes into a "useragent" package in HttpClient at some point, since they are a useful abstraction and not tied to Latka in any way, nor do they modify the core HttpClient classes.

Latka also includes several validations that can be performed on the HTTP responses, including checking the status code, byte length, or request timing. In addition you will be able to customize Latka with your own validators by writing a couple of simple classes.

(1.5) Interaction With Other Packages

Latka relies on:

(2) Initial Source of the Package

The initial source has been committed to the Sandbox, and includes almost all of the functionality described above.

(3) Required Jakarta-Commons Resources

(4) Initial Committers

The initial committers on the Latka component shall be: