Testing Joomla! With WebTest - Environment Setup

From Joomla! Documentation

Revision as of 01:39, 13 August 2009 by Tomischuetz (Talk | contribs)

This page will hold documentation on using WebTest to create test suites for Joomla!

Functional Testing

See System Testing

Smoke Tests

The smoke tests shall make sure, that the very basic functionality of a new Joomla! installation is working. This means, a smoke test will verify the availability of menus, pages or other elements.

The successfully executed smoke tests provide the entry criteria for the regression testes. However, there is no clearly defined border between regression and functional tests.

Regression Tests

Regression tests are generally written against requirements and/or stories, which define the functionality and behavior of a system.

If a project is missing these specifications it can be helpful to write the regression tests against stories. These stories describe basic use cases.

The regression test with WebTest will be based on stories. These shall be simple stories such as:

  • Add a new section
  • Add a new category to the section
  • Add a new article to the section and category
  • Make the article visible on the frontpage

These stories can be extended over time, but will give the possibility to grow easily.

Canoo WebTest

Canoo WebTest is a free Open Source tool for automated testing of web applications. Here you can find a short overview of WebTest characteristics.

To get a first impression, you can watch the following screencast:

Screencast WebTest CreateFirstWebTestProject.png

Creating a first WebTest project.


  • A platform that is able to run Java.
  • An installed JDK version 5 or higher.
  • Ant version 1.7.0 or newer (optional). WebTests distribution contains the necessary part from ant 1.7.0 ready to run
  • A tool to unzip.

See here.

Installation & Configuration

See here.


Eclipse is an open source community, whose projects are focused on building an open development platform comprised of extensible frameworks, tools and run times for building, deploying and managing software across the lifecycle. For more details, see here.


  • A platform that is able to run Java.
  • An installed JDK version 5 or higher.

Installation & Configuration

  • todo

Test Suite

The testing code is part of the Joomla! code.


The testing repository for the WebTest test suite can be found here:

Note: If a login mask comes up, use

User: anonymous
Password: <empty>


The WebTest test suite is organized in smoke tests and regression tests.

Test Execution

The test suite can be executed in different ways. The easiest way is to call it as follows

  • webtest -Durl=<URL> -Dusername=<USERNAME> -Dpasswd=<PASSWORD>


  • URL is the URL to the administrator page
  • USERNAME is the user name of the administrator
  • PASSWORD is the password of the administrator


webtest -Durl= -Dusername=Admin -Dpasswd=1234

Note: The user name, password will only be used by WebTest on the machine you are executing the test suite. But the log files and reports can contain the user name and password and therefore you have to be careful exchanging them!