Contributor
Soham Parekh

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.