Selenium/Ruby/Target beta cluster

From mediawiki.org

For this example, we will target English Wikipedia at the Beta Cluster. You will need internet access.

Advantages[edit]

  • You do not have to install or learn how to use MediaWiki-Vagrant.
  • It will also be reasonably fast.
    • MediaWiki core Selenium test run takes about 3 minutes on my machine.
    • It takes about 6-7 minutes for selenium-Core Jenkins job to run.
  • Debugging failed tests will be easier, since you will see the browser.

Disadvantages[edit]

  • You will need internet connection while running the tests.
  • The tests will be slower since the target machine is not local.
  • You will have to install Selenium and it's dependencies on your machine.
  • While the tests are running the host machine will be hard to use because Chrome will be opening and closing for every test (but not stealing focus).

Clone MediaWiki core[edit]

There are several ways to clone the MediaWiki core repository (anonymous http, http, ssh). We will use anonymous http since it is the simplest.

$ git clone https://gerrit.wikimedia.org/r/mediawiki/core mediawiki
Cloning into 'core'...
...
Checking out files: 100% (6426/6426), done.

Go to mediawiki folder[edit]

$ cd mediawiki

Install dependencies[edit]

Depending on your operating system, installing dependencies will be different.

Chrome[edit]

Ruby[edit]

Installing Ruby might be easier, or harder.

  • On Linux, please use appropriate package manager.
  • On Windows, please use RubyInstaller.
  • It should already installed on Mac machines.
  • Ruby 2.0 or newer is required.
  • Third-party tools like rbenv or RVM are not required.

After installation, check if everything is all right.

$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]

Install required Ruby packages (gems).

$ gem install bundler --no-rdoc --no-ri
Fetching: bundler-1.13.6.gem (100%)
Successfully installed bundler-1.13.6
1 gem installed
$ bundle install
...
Use `bundle show [gemname]` to see where a bundled gem is installed.

Create an account at the beta cluster[edit]

You can skip this step if you already have an account there. If not, create an account at English Wikipedia at the Beta Cluster.

Run the Selenium tests[edit]

Please replace values of MEDIAWIKI_USER and MEDIAWIKI_PASSWORD.

$ MEDIAWIKI_ENVIRONMENT=beta MEDIAWIKI_USER=not-the-real-one MEDIAWIKI_PASSWORD=not-the-real-one bundle exec rake selenium
...
/usr/local/Cellar/ruby/2.4.0/bin/ruby -S bundle exec cucumber tests/browser --tags @chrome
...
20 scenarios (20 passed)
103 steps (103 passed)
3m23.296s