mediawiki-extensions-Popups/tests/browser
Sam Smith 87ff0cae83 Tag previews acceptance tests with @integration
i.e. Allow the previews acceptance tests to be run against each Gerrit
change.

Change-Id: I17daaa955026c7fc5ef63b248c48932ecb75a1bc
2016-12-13 14:47:32 +00:00
..
features Tag previews acceptance tests with @integration 2016-12-13 14:47:32 +00:00
fixtures Hygiene: Remove "I am on the ... page" step 2016-12-13 14:25:37 +00:00
environments.yml Add browser test for hovering link 2016-04-19 13:12:24 +00:00
LocalSettings.php QA: Enable Hovercards beta feature in browser tests 2016-04-20 18:20:27 +00:00
README.mediawiki Add browser test for hovering link 2016-04-19 13:12:24 +00:00

To run the Selenium tests you will have to install Ruby (for the exact
version see Gemfile), the latest versions of RubyGems and Firefox.

The easiest way to install Ruby on *nix is RVM (https://rvm.io/) and on
Windows RubyInstaller (http://rubyinstaller.org/).

Open terminal in tests/browser. Update RubyGems and install required
gems with:

  gem update --system
  gem install bundler  # on Mac OS X Yosemite append ` --user-install -n~/bin`,
					   # where ~/bin is the install folder
  bundle install

Environment variables MEDIAWIKI_USER and MEDIAWIKI_PASSWORD are required for
tests that require a logged in user. For local testing, create a test user on your local wiki
and export the user and password as the values for those variables.
For example:

  export MEDIAWIKI_USER=<username here> # Linux/Unix/Mac
  set MEDIAWIKI_USER=<username here> # Windows

  export MEDIAWIKI_PASSWORD=<password here> # Linux/Unix/Mac
  set MEDIAWIKI_PASSWORD=<password here> # Windows

In addition to this create another user which will be reserved for new uploads
"Selenium_newuser". The password for this user should be the same as
MEDIAWIKI_PASSWORD

Tests that use the "Given I create a random page using the API" step need to set
the MEDIAWIKI_API_URL environment variable, e.g.
export MEDIAWIKI_API_URL=http://en.wikipedia.beta.wmflabs.org/w/api.php

Run the tests from the Popups directory with:

  make cucumber

If you want to run a single set of tests, go to the tests/browser directory and
call 'bundle exec cucumber' with the path to the test file. For example, to run
only the watchlist tests:

  bundle exec cucumber features/watchstar.feature

XML report (for Jenkins) is created at tests/browser/reports/junit.

Jenkins is hosted at https://wmf.ci.cloudbees.com/ and it drives
browsers at http://saucelabs.com/

For more information about running Selenium tests please see
https://github.com/wikimedia/mediawiki-selenium