<div dir="ltr">Thanks, I added to <a href="https://www.mediawiki.org/wiki/Quality_Assurance/Browser_testing/Writing_tests#Miscellaneous">https://www.mediawiki.org/wiki/Quality_Assurance/Browser_testing/Writing_tests#Miscellaneous</a><br>
<div><div class="gmail_extra"><br></div><div class="gmail_extra">The Flow browser tests don't yet work well in PhantomJS, probably because of rollover states and flyout menus.<br></div><div class="gmail_extra"><br><div class="gmail_quote">
On Wed, Jan 29, 2014 at 6:57 PM, Nikolas Everett <span dir="ltr"><<a href="mailto:neverett@wikimedia.org" target="_blank">neverett@wikimedia.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Yesterday I spent the time working on CirrusSearch's browser tests to<br>
get them working well with parallel cucumber and phantomjs. That cut<br>
the time to run all the tests from 24 minutes to 6. That is super<br>
sweet because Cirrus gets the vast majority of its test coverage from<br>
these tests.<br>
<br>
So here are the steps I took to get there. You can probably do them<br>
in any order if you want to follow my footsteps. Anyway:<br>
1. Make sure all tests pass in PhantomJS. Mostly, this shouldn't<br>
require any work beyond installing PhantomJS, setting BROWSER_LABEL to<br>
phantomjs, and running tests.<br>
2. Make sure your tests are in many small features rather than a few<br>
huge ones. This took me an hour or so because Cirrus had two huge<br>
features that I broke into 18 or so small ones.<br>
3. Add <gem "parallel_tests"> to your gemfile and run bundler install.<br>
4. You are ready! Yay.<br>
<br>
Running tests is now a two step thing. First run tests in parallel.<br>
bundle exec parallel_cucumber --nice -n 5 features/<br>
Some of them will fail because, well, parallel_cucumber seems a bit<br>
flaky. Oh well. You can rerun them like this:<br>
cat cucumber_failures.log | xargs bundle exec cucumber<br>
<br>
I'm not sure how you'd do that in Windows but the above should work in<br>
Linux and OSX.<br clear="all"></blockquote></div><br>-- <br><div dir="ltr">=S Page Features engineer<br></div>
</div></div></div>