Add a Selenium test suite for Review Board.
Review Request #1527 — Created April 21, 2010 and submitted
Add a Selenium test suite for Review Board. This adds a new Selenium test suite for testing various user-facing parts of Review Board through the Selenium browser automation tools. The tests cover most common operations. In particular: * Logging in * Creating/modifying/publishing a review request * Closing review requests * Uploading diffs * Uploading screenshots * Viewing diffs * Reviewing * Commenting (diffs and screenshots) * And more... This provides full coverage of our datastore.js, meaning that we have complete UI coverage for all calls to our web API. When we start moving to the new web API, this should help us catch any regressions. The tests live in the webtests/ directory, outside of the main reviewboard/ package directory. The reason for this is that we don't necessarily want to have these tests run every time the full test suite is run, as they need to mess with the browser, and they're slow. If we choose, we can run these tests with the main test suite by doing: $ ./reviewboard/manage.py test -- --with-webtests Or, to run just the web tests: $ ./reviewboard/manage.py test -- webtests Or: $ ./contrib/internal/webtests.sh This updates some URLs and templates in order to add identification information to some elements in order to let us more easily test them. It also fixes up some of the test runner code to properly build and tear down the media directories, so that we can access all bundled media and uploaded media for the tests.
Ran the full test suite, several times. Originally a lot of things were caught (all have been fixed and are posted for review). With these fixes, the whole suite completes successfully.