This tip works if you're targeting:
Make the browser visibleEdit
To speed up the debugging, you will probably want to run make the browser visible. See Selenium/How-to/Make the browser visible.
By default, Mocha will abort the test suite if it takes more than 60 seconds. That is usually plenty when you're just running tests, but it's usually not enough when you're debugging. To extend the timeout to 60 minutes, set
DEBUG environment variable.
Either run this manually from the terminal or, to make it easier for next time, set them from shell configuration file (
~/.zshrc...) which means the variables are always available from any terminal session:
If you prefer, you can create an
.env file instead (in MediaWiki Core folder), with this contents.
browser.debug(); at a place you want to debug.
Run Selenium testsEdit
To speed up the debugging, you will probably want to run only one test. See Selenium/How-to/Run a subset of a test suite. Test suite will stop when it reaches
npm run selenium-test ... The execution has stopped! You can now go into the browser or use the command line as REPL (To exit, press ^C again or type .exit) ...
Use the browser developer tools and WebdriverIO REPL interface to debug.
For example, you can ask for browser URL.
[0-0] › browser.getUrl() 'http://localhost:8080/w/index.php?hidebots=1&limit=50&days=7&enhanced=1&title=Special:RecentChanges&urlversion=2'
Or, if an element with ID
pt-login is displayed.
[0-0] › $('#pt-login').isDisplayed() true