IMPORTANT: Make sure to read the [Outreachy participant instructions](https://www.mediawiki.org/wiki/Outreachy/Participants) and [communication guidelines](https://www.mediawiki.org/wiki/New_Developers/Communication_tips) thoroughly before commenting on this task. This space is for project-specific questions, so avoid asking questions about getting started, setting up Gerrit, etc. When in doubt, ask your question on [Zulip](https://www.mediawiki.org/wiki/Outreach_programs/Zulip) first!
MediaWiki Core, it's extensions and skins use WebdriverIO to drive our Selenium testing framework. All tests are written using WebdriverIO sync mode. The sync mode will be deprecated in Node.js v16. We need to move tests in MediaWiki Core, it's extensions and skins from WebdriverIO sync to async mode.
# Notes
- [[ https://webdriver.io/docs/sync-vs-async/ | Sync vs. Async Mode ]]
- [[ https://webdriver.io/blog/2021/07/28/sync-api-deprecation/ | Sync API Deprecation ]]
- [[ https://github.com/webdriverio/webdriverio/discussions/6702 | RFC Replacement for Node-Fibers ]]
- Repositories with Selenium tests: https://www.mediawiki.org/wiki/Selenium/Reference/Example_Code
# Microtasks
- {T292853}
- See also tasks in //Repositories// section
# Get help
- If you have any questions, or you need help, ask in [[ https://wikimedia.zulipchat.com/#narrow/stream/298793-outreachy23/topic/WebdriverIO | WebdriverIO ]] topic in Zulip.
# Repositories
| Repository | Suites | Tests | Task
|--|--|--|--|
| mediawiki/core | 5 | 13 | T293071
| mediawiki/extensions/AbuseFilter | 3 | 24
| mediawiki/extensions/AdvancedSearch | 5 | 41
| mediawiki/extensions/CentralNotice | 1 | 1
| mediawiki/extensions/CirrusSearch | 1 | 3
| mediawiki/extensions/Cite | 1 | 6 | T293072
| mediawiki/extensions/CodeMirror | 3 | 5
| mediawiki/extensions/Echo | 2 | 5 | T293073
| mediawiki/extensions/ElectronPdfService | 1 | 1
| mediawiki/extensions/EntitySchema | 5 | 17
| mediawiki/extensions/FileImporter | 2 | 1
| mediawiki/extensions/GlobalWatchlist | 1 | 2 | T293074
| mediawiki/extensions/GrowthExperiments | 2 | 7
| mediawiki/extensions/Math | 1 | 1 | T293076
| mediawiki/extensions/MobileFrontend | 2 | 0
| mediawiki/extensions/Newsletter | 1 | 1
| mediawiki/extensions/Popups | 2 | 7
| mediawiki/extensions/ProofreadPage | 1 | 1
| mediawiki/extensions/RelatedArticles | 1 | 0
| mediawiki/extensions/RevisionSlider | 8 | 22
| mediawiki/extensions/TemplateWizard | 1 | 3
| mediawiki/extensions/TwoColConflict | 7 | 46
| mediawiki/extensions/Wikibase | 16 | 37
| mediawiki/extensions/WikibaseLexeme | 16 | 48
| mediawiki/extensions/WikiLambda | 1 | 2
| mediawiki/skins/MinervaNeue | 10 | 14
| phabricator/deployment | 1 | 1
| wikibase/termbox | 4 | 25
| wikidata/query/gui | 1 | 0
| wikimedia/portals/deploy | 9 | 14
| wmde/wdio-wikibase | 0 | 0
(Number of tests estimated with `ack --count --files-with-matches ' it\('`. See P17460.)