Purpose: help developers who would like to run the current test suite or create new tests for the mapbuilder library.
MapBuilder Selenium tests
MapBuilder uses Selenium for acceptance testing. To this end, the Selenium Core is included in the MapBuilder development tree, under mapbuilder/tests/selenium/selenium-core-x.y.z/ (currently version 0.8.2).
Running the current Selenium test suite
To run the current Selenium test suite, simply deploy MapBuilder from the source tree, and open http://localhost:8080/mapbuilder/tests/selenium/ in your browser. This will redirect you to the Selenium TestRunner and load the initial TestSuite.html.
Layout of the Selenium tests
The directory structure of the Selenium tests is as follows:
If you want to add additional tests for a specific demo, add them in the directory for that demo, and add them to the TestSuite.html at the right place (most likely near the other tests for that demo).
If you want to add tests for a new demo, make a new directory for that demo, and add files for each aspect that you want to test. Then, add those tests to the TestSuite.html at an appropriate place.
Adding specific test suites
It is also possible to add specific test suites, e.g. a set of (related) tests for testing a specific part of MapBuilder, say the History functionality. For this, create a new test suite in the mapbuilder/tests/selenium/tests/ directory, and give it a meaningful name like HistoryTestSuite.html.
For getting up to speed with Selenium, see the Selenium Core documentation.
The easiest way to develop Selenium tests is by using Firefox and the Selenium IDE Firefox plugin. Other useful Firefox plugins are XPather and/or XPath Checker. Note that the browser you use to develop the tests is independent of the browsers you can run the tests in; Selenium is browser-independent; see the Selenium site for the latest list of supported platforms.
Have a look at the other tests to see how to use Selenium. Experiment. Run your tests under different browsers. And don't be afraid to ask questions on the mapbuilder-devel mailing list.