Submissions/A Selenium testing framework for MediaWiki
This is an open submission for Wikimania 2010.
- Title of the submission
- A Selenium testing framework for MediaWiki
- Type of submission (workshop, tutorial, panel, presentation)
- Author of the submission
- Markus Glaser
- E-mail address or username (if username, please confirm email address in Special:Preferences)
- Country of origin
- Affiliation, if any (organization, company etc.)
- Hallo Welt! - Medienwerkstatt GmbH
- Personal homepage or blog
- 30-word contribution & benefits statement
- Learn how to write and execute user interface tests for core and extensions using the MediaWiki selenium framework. We will also talk about the further evolution of the framework in order to suit your needs.
- Proposed time frame
- Abstract (please use no less than 300 words to describe your proposal)
- Selenium is a software testing framework for web applications. It allows you to record and playback actions within browsers. Even more, you can script the tests with many programming languages, so that systematic variations of tests (like input of special characters) become possible. Furthermore, you can check the results and make sure the outcome is the expected one. With this, automated user interface testing can be mostly automated.
- The Selenium Framework for MediaWiki is supposed to make it easier for core and extension developers to write Selenium tests and test them against several environments. When testing user interaction within MediaWiki, there are several tasks that are common to a lot of tests, be it for example logging in or calling a page. These tasks will be provided by the framework and can be executed with some simple lines. The code is written in PHP and should thus be easily understood by MediaWiki developers. Also, the framework is object oriented and accounts for testing a lot of similar cases with slight variations.
- Initially, the framework was developed for Wikimedia Deutschland e.V. in order to test the PagedTiffHandler extension. In the meantime, it has been moved into the maintenance folder. There is some effort to automate tests with selenium on svn commit on a selenium grid which consists of several testing environments. The framework will provide a standardized way to use this. Several points need to be taken into account, among others, how to provide a clean testing wiki and how to reconfigure the wiki according to the needs of a specific extension.
- In the workshop, I will give a quick overview on selenium and the framework. Then I will show how to write tests with the test classes provided and how to execute the tests. As this is a workshop, you are free to bring your extensions and we will begin writing tests for them. We will also try to work out solutions for clean testing and dynamic reconfiguration.
- Track (People and Community/Knowledge and Collaboration/Infrastructure)
- Will you attend Wikimania if your submission is not accepted?
- Slides or further information (optional)
If you are interested in attending this session, please sign with your username below. This will help reviewers to decide which sessions are of high interest. Sign with four tildes. (~~~~).