Evaluate WebdriverIO replacements for our browser automation framework
- Mentors
- Gabriel Pita, Ċ½eljko Filipin
- Organization
- Wikimedia Foundation
Currently all the frontend automation tests for MediaWiki are written in Javascript using WebDriverIO which uses Selenium under the hood. While WebDriverIO offers many advantages like cross-browser support, large and continuously growing community, etc, some major hurdles while using WebDriverIO such as:
- non-trivial set-up
- flaky tests
- poor documentation
- painful debugging and syntax which is painful to grasp. Additionally WebDriverIO does not synchronise with the Selenium updates so upgrading it to a newer version is a painstaking task, not to mention all the familiar bugs and quirks that come with Selenium.
This project aims to evaluate Cypress and Puppeteer as alternative test-automation frameworks based upon various factors such as:
- stability of tests
- ease of installation, developer experience
- community support
- speed of test runs
- configuration options
and if positive, estimate the work needed to migrate all repositories that currently use WebdriverIO to the chosen framework.