Status
version | repositories |
v5 | 2/32 (6%) |
v6 | 1/32 (3%) |
v7 | 29/32 (91%) |
MediaWiki code search for webdriverio in package.json.
MediaWiki code search for @wdio/ in package.json.
Overview
MediaWiki is a free and open-source Wiki application. It powers a lot of websites including Wikipedia, Wiktionary, and Wikimedia commons.
Delivery of optimal quality software with unique and innovative features is always a priority. However, without evaluating software components under various expected and unexpected conditions, one cannot guarantee these aspects. Therefore, testing is performed to test every software component large and small. To increase the efficiency of the testing process and to maximize test coverage, automation is imperative. Automation not only improves the quality of testing but also makes it faster and reduces the cost involved.
We use WebdriverIO as a browser driver for our test automation framework. We are currently using version 6 (2 repositories still at v4). WebdriverIO v7 was released on February 9, 2021.
CodeSearch: v4, v6
Announcement: v5, v6, v7
The major goal for the Google Summer of Code 2021 internship is to migrate all repositories to v7. As a part of Google Summer of Code 2020 internship, WebdriverIO was migrated to v6 for almost all repositories. While migration was being carried out, we noticed a need to perform a cleanup and refactoring of the existing WebdriverIO code across all repositories. Some additional goals include:
- Introduce video recording in all selenium tests. See T253113: Record videos of all Selenium tests
- Sanitize Page Object imports across all repositories
- Work on extending the wdio.conf.js file so that the same file can be used/extended across all repositories
- T210726: Selenium framework maintenance
Resources
- An exhausted list of clean up tasks required to be performed can be found here
- For a list of all repos running Selenium, see https://www.mediawiki.org/wiki/Selenium/Reference/Example_Code
- T256239: Run Selenium tests targeting MediaWiki-Docker
repository | version | task/commit |
mediawiki/core | 7 | |
mediawiki/extensions/AbuseFilter | 7 | |
mediawiki/extensions/AdvancedSearch | 7 | |
mediawiki/extensions/CentralNotice | 7 | |
mediawiki/extensions/CirrusSearch | 5 | 708516 T257525 T289168 |
mediawiki/extensions/Cite | 7 | |
mediawiki/extensions/CodeMirror | 7 | |
mediawiki/extensions/Echo | 7 | |
mediawiki/extensions/ElectronPdfService | 7 | |
mediawiki/extensions/EntitySchema | 7 | |
mediawiki/extensions/FileImporter | 7 | |
mediawiki/extensions/GlobalWatchlist | 7 | |
mediawiki/extensions/GrowthExperiments | 7 | |
mediawiki/extensions/Math | 7 | |
mediawiki/extensions/MobileFrontend | 7 | |
mediawiki/extensions/Newsletter | 7 | |
mediawiki/extensions/Popups | 7 | |
mediawiki/extensions/ProofreadPage | 7 | |
mediawiki/extensions/RelatedArticles | 7 | |
mediawiki/extensions/RevisionSlider | 7 | |
mediawiki/extensions/TemplateWizard | 7 | |
mediawiki/extensions/TwoColConflict | 7 | |
mediawiki/extensions/Wikibase | 6/7 | |
mediawiki/extensions/WikibaseLexeme | 7 | |
mediawiki/extensions/WikibaseMediaInfo | 7 | |
mediawiki/extensions/WikiLambda | 7 | |
mediawiki/skins/MinervaNeue | 7 | T280975 |
phabricator/deployment | 7 | |
wikibase/termbox | 7 | |
wikidata/query/gui | 7 | |
wikimedia/portals/deploy | 5 | 703927 T255463 T289181 |
wmde/wdio-wikibase | 7 | |
Skills:
- Javascript (Node.js)
- WebdriverIO (Selenium)
Microtasks:
- Set up gerrit for Mediawiki
- Clone mediawiki/core
- Make a trivial change to tests/selenium/README.md in mediawiki/core and push the commit to Gerrit.
- Add AlQaholic007 and Vidhi-Mody to Reviewers in Gerrit through the UI
- Make topic of the patch to be T274579 so that Gerrit knows which Phabricator task the patch is for
- Amend your existing commit in Gerrit (See: P12961, For more information see Gerrit/Tutorial: Amending a change)
- Run selenium tests locally. If all tests pass, copy/paste terminal output to a paste. Then add the paste to a comment of this task. (Please include the steps followed to run the tests in the paste as well). For reference see P8206 and https://www.mediawiki.org/wiki/Selenium/Getting_Started (Sample Output: P15107)
- Upgrade WebdriverIO to v7 for any one simple repo (List of repos)
- T269566: Remove ChromeDriver dependency in all repositories with Selenium tests
Student:
Mentors:
previous T247844: Upgrade WebdriverIO to v6 in all repositories | next T324685: Upgrade WebdriverIO to v8 in all repositories