(Apologies if this is a duplicate, I know there's been some discussion already but couldn't find it in Phabricator.)
Browser tests are slow, and there are a few opportunities for parallelization. The easiest step would be to run our QUnit and node-selenium tests in separate threads. After T199116 we could also run selenium tests for each repo in parallel, but this introduces the additional challenge of potential interaction between tests.
However, there are some questions to work through first:
- Can our test webserver handle multiple clients? (See also T225218.)
- Is it reasonable to run multiple chromedrivers on one machine? How much more memory will this require?
- How many of our tests will become fragile, for example because they depend on a constant rather than randomly-generated title?