Merge "resourceloader: Mark clearCache() as private (only for tests)"
[lhc/web/wiklou.git] / tests / selenium / README.md
1 # Selenium tests
2
3 ## Prerequisites
4
5 - [Chrome](https://www.google.com/chrome/)
6 - [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/)
7 - [Node.js](https://nodejs.org/en/)
8
9 If using MediaWiki-Vagrant:
10
11 cd mediawiki/vagrant
12 vagrant up
13
14 ## Installation
15
16 cd mediawiki
17 npm install
18
19 ## Usage
20
21 npm run selenium
22
23 By default, Chrome will run in headless mode. If you want to see Chrome, set DISPLAY
24 environment variable to any value:
25
26 DISPLAY=1 npm run selenium
27
28 To run only one test (for example specs/page.js), you first need to start Chromedriver:
29
30 chromedriver --url-base=wd/hub --port=4444
31
32 Then, in another terminal:
33
34 npm run selenium-test -- --spec tests/selenium/specs/page.js
35
36 You can also filter specific cases, for ones that contain the string 'preferences':
37
38 npm run selenium-test -- tests/selenium/specs/user.js --mochaOpts.grep preferences
39
40 The runner reads the configuration from `wdio.conf.js`. The defaults target
41 a MediaWiki-Vagrant installation on `http://127.0.0.1:8080` with a user "Admin"
42 and password "vagrant". Those settings can be overridden using environment
43 variables:
44
45 - `MW_SERVER`: to be set to the value of your $wgServer
46 - `MW_SCRIPT_PATH`: ditto with $wgScriptPath
47 - `MEDIAWIKI_USER`: username of an account that can create users on the wiki
48 - `MEDIAWIKI_PASSWORD`: password for above user
49
50 Example:
51
52 MW_SERVER=http://example.org MW_SCRIPT_PATH=/dev/w npm run selenium
53
54 ## Further reading
55
56 - [Selenium/Node.js](https://www.mediawiki.org/wiki/Selenium/Node.js)