You can now write Selenium tests in Node.js! Learn more about it at https://www.mediawiki.org/wiki/Selenium/Node.js
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:
vagrant up vagrant ssh sudo apt-get install chromedriver export PATH=$PATH:/usr/lib/chromium cd /vagrant/mediawiki xvfb-run npm run selenium
Extensive details are available on the landing page: https://www.mediawiki.org/wiki/Selenium/Node.js
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 Engineering team.
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 forgot.)