summaryrefslogtreecommitdiff
path: root/www/wiki/tests/selenium/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/tests/selenium/README.md')
-rw-r--r--www/wiki/tests/selenium/README.md61
1 files changed, 61 insertions, 0 deletions
diff --git a/www/wiki/tests/selenium/README.md b/www/wiki/tests/selenium/README.md
new file mode 100644
index 00000000..b15d4073
--- /dev/null
+++ b/www/wiki/tests/selenium/README.md
@@ -0,0 +1,61 @@
+# Selenium tests
+
+## Prerequisites
+
+- [Chrome](https://www.google.com/chrome/)
+- [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/)
+- [Node.js](https://nodejs.org/en/)
+- [MediaWiki-Vagrant](https://www.mediawiki.org/wiki/MediaWiki-Vagrant)
+
+Set up MediaWiki-Vagrant:
+
+ cd mediawiki/vagrant
+ vagrant up
+
+## Installation
+
+ cd mediawiki
+ npm install
+
+## Usage
+
+ npm run selenium
+
+By default, Chrome will run in headless mode. If you want to see Chrome, set DISPLAY
+environment variable to any value:
+
+ DISPLAY=:1 npm run selenium
+
+To run only one file (for example page.js), you first need to spawn the chromedriver:
+
+ chromedriver --url-base=wd/hub --port=4444
+
+Then in another terminal:
+
+ cd tests/selenium
+ ../../node_modules/.bin/wdio --spec specs/page.js
+
+To run only one test (name contains string 'preferences'):
+
+ ../../node_modules/.bin/wdio --spec specs/user.js --mochaOpts.grep preferences
+
+The runner reads the config file `wdio.conf.js` and runs the spec listed in
+`page.js`.
+
+The defaults in the configuration files aim are targeting a MediaWiki-Vagrant
+installation on http://127.0.0.1:8080 with a user Admin and
+password 'vagrant'. Those settings can be overridden using environment
+variables:
+
+`MW_SERVER`: to be set to the value of your $wgServer
+`MW_SCRIPT_PATH`: ditto with $wgScriptPath
+`MEDIAWIKI_USER`: username of an account that can create users on the wiki
+`MEDIAWIKI_PASSWORD`: password for above user
+
+Example:
+
+ MW_SERVER=http://example.org MW_SCRIPT_PATH=/dev/w npm run selenium
+
+## Links
+
+- [Selenium/Node.js](https://www.mediawiki.org/wiki/Selenium/Node.js)