You can now write Selenium tests in Node.js! Learn more about it at
Five years ago we introduced browser tests using Selenium and a Ruby based
stack. It has worked great for some teams, and not so great for others.
Last year we talked to people from several teams and ran a survey. The
outcome is a preference toward using a language developers are familiar
After several months of research and development, we are proud to announce
support for writing tests in Node.js. We have decided to use
WebdriverIO. It is already available in MediaWiki core and supports
running tests for extensions.
You can give it a try in MediaWiki-Vagrant:
sudo apt-get install chromedriver
xvfb-run npm run selenium
Extensive details are available on the landing page:
We plan to replace the majority of Selenium tests written in Ruby with
tests in Node.js in the next 6 months. We can not force anybody to rewrite
existing tests, but we will offer documentation and pairing sessions for
teams that need help. After 6 months, teams that want to continue using
Ruby framework will be able to do so, but without support from Release
I have submitted a skill share session for Wikimedia Hackathon 2017 in
Vienna. If you would like to pair on Selenium tests in person, that
would be a great time.
The list of short term actions is in task T139740.
I would like to thank several people for reviews, advice and code:
Jean-Rene Branaa, Dan Duvall, Antoine Musso, Jon Robson, Timo Tijhof.
(Names are sorted alphabetically by last name. Apologies to people I have