It was implemented in Ruby framework. There are two options:
- Sauce Labs
- Xvfb
There are tools similar to [[ https://rubygems.org/gems/headless | headless ]] ruby gem:
- [[ https://www.npmjs.com/package/headless | headless ]]
- [[ https://www.npmjs.com/package/xvfb | xvfb ]]
- [[ https://github.com/lightsofapollo/x-recorder | x-recorder ]]
- [[ https://www.npmjs.com/package/fluent-ffmpeg | fluent-ffmpeg ]]
Instructions on how to test locally:
- [[ https://www.mediawiki.org/wiki/Selenium/Node.js/Inside_MediaWiki-Vagrant | Inside MediaWiki-Vagrant ]]
Run tests using [[ http://manpages.ubuntu.com/manpages/trusty/man1/xvfb-run.1.html | xvfb-run ]]:
```
vagrant@vagrant:/vagrant/mediawiki$ xvfb-run npm run selenium
```
Video is recorded via [[ https://ffmpeg.org/ffmpeg.html | ffmpeg ]].
Links:
- http://elementalselenium.com/tips/38-headless
- http://shawnzhu.blogspot.hr/2014/04/feedback-information-from.html
- https://phabricator.wikimedia.org/source/integration-config/browse/master/dockerfiles/npm-browser-test/run-with-xvfb.sh
- http://afterdesign.net/2016/02/07/recording-headless-selenium-tests-to-mp4.html
TODO:
- update [[ https://www.mediawiki.org/wiki/Selenium/Node.js/Inside_MediaWiki-Vagrant#Install_dependencies_in_the_machine | Selenium/Node.js/Inside_MediaWiki-Vagrant#Install_dependencies_in_the_machine]] saying ffmpeg is needed