Selenium framework should support multiple test runners (Mocha, Cucumber...) and assertion libraries (Assert, Chai...). So far all dependencies were managed from mediawiki core, but that has serious drawbacks (as @Krinkle points in T179190#4173431).
I have talked with @hashar and we have agreed that the way forward is to modify Quibble.
Workflow:
- clone mediawiki core
- clone extension(s)/skin(s)
- find all wdio.conf.js files
- cd into each extension/skin with wdio.conf.js file
- run npm install
- run npm run selenium-test
Running multiple npm install might slow Quibble down, so speeding up that part will be important.
Also, in order for the last step to work, each extension/skin has to have selenium-test script in package.json, but that will be resolved with T199113.
Note: see @Krinkle's comments at 429435.
See also: T193943: Selenium test job should install local dependencies before starting tests.