Selenium/Getting Started/Run tests targeting MediaWiki-Docker

This page describes how to run Selenium tests locally on your development install of MediaWiki. This tutorial is based on the setup from mediawiki-docker-dev as example, but should work for any other local installation of MediaWiki as well.

Note that if you use MediaWiki-Vagrant, there is a dedicated page for running Selenium Node.js on MediaWiki-Vagrant.

Advantages

 * It will be fast, since the target machine is local. MediaWiki core Selenium test run takes about 4 minutes on my machine. (As of September 2019.)
 * Works without an internet connection.

Disadvantages

 * You will have to install MediaWiki, Selenium and their dependencies on your machine.
 * You will be executing over 900 JavaScript packages (as of August 2019) directly on your machine with access to all personal/work files.

Prerequisites

 * MediaWiki. We assume you have a mediawiki-docker-dev setup. It should be similar for other local MediaWiki installations.
 * Install Google Chrome.
 * Download ChromeDriver and ensure the program is in a folder included in your.
 * Install Node.js and npm.

Go to mediawiki folder
It's at  on my machine.

Install dependencies

 * Install required npm packages. You will need internet access.

Environment variables
Ensure the following environment variables are set. Either run this manually from the terminal or, to make it easier for next time, set them from shell configuration file (, ...) which means the variables are always available from any terminal session:

Run Selenium tests
The usual command to run the tests is. This requires setting up several environment variables so that the test knows how to reach your MediaWiki install and which credentials to use. To make this easier in the future, it is recommended to export these environment variables from a  file in your home directory (which means they are set by default in all terminal sessions).

Run chromedriver in one terminal tab or window.

In another terminal tab or window export environment variables and run tests.

If you're not using mediawiki-docker-dev, but for example releng/local-charts, just change the environment variables to point to the correct URL and to use correct credentials.