<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Dec 17, 2013 at 4:51 PM, Chris McMahon <span dir="ltr"><<a href="mailto:cmcmahon@wikimedia.org" target="_blank">cmcmahon@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"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="im">On Tue, Dec 17, 2013 at 2:42 PM, Nikolas Everett <span dir="ltr"><<a href="mailto:neverett@wikimedia.org" target="_blank">neverett@wikimedia.org</a>></span> wrote:</div>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="im"><div>On Tue, Dec 17, 2013 at 4:26 PM, Jeff Hall <span dir="ltr"><<a href="mailto:jhall@wikimedia.org" target="_blank">jhall@wikimedia.org</a>></span> wrote:<br>




<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">I want to create a browser test (for Visual Editor) that will repro a single continuous session where the user makes multiple edits to the same page.  As I understand it, Cucumber "Scenarios" each equate to a new user session, which is not what I want, so the alternative seems to be to construct a long, continuous scenario like the following:<br>


</blockquote></div><div><br></div></div><div class="im"><div>The second two implementations are somewhat debated.  Some cucumber folks hate steps calling steps and some love it.  I'm can see merit in both arguments.<br>

</div></div></div></div></div>
</blockquote><div><br></div><div>Nik is a master of this (and I learned from the CirrusSearch examples) but such things exist in the VE repo also: <a href="https://git.wikimedia.org/blob/mediawiki%2Fextensions%2FVisualEditor/b922592902ad57f770b6810566b820aada74aa47/modules%2Fve-mw%2Ftest%2Fbrowser%2Ffeatures%2Fsupport%2Fhooks.rb" target="_blank">https://git.wikimedia.org/blob/mediawiki%2Fextensions%2FVisualEditor/b922592902ad57f770b6810566b820aada74aa47/modules%2Fve-mw%2Ftest%2Fbrowser%2Ffeatures%2Fsupport%2Fhooks.rb</a></div>


<div><br></div><div>What I did with VE was to make the tests that loop like that be runnable both with and without the REUSE_BROWSER env variable.  When running locally I turn on REUSE_BROWSER, but as you know, Zelkjo objects to having REUSE_BROWSER in the production run, and I think those objections are worth considering.  </div>


<div><br></div><div>So bottom line might be to use a hook that is aware of the REUSE_BROWSER env var. <br></div></div></div></div></blockquote><div><br></div><div> I wouldn't want REUSE_BROWSER on Jenkins.  If you absolutely need to have the something that spans lots of repeated actions I think it should be one scenario.  I use REUSE_BROWSER in cirrus really just as a speed hack more than anything else.<br>

<br></div><div>For a scenario that really does need to do lots of edits over and over again I'd go with a compound step.  I wouldn't make the step have loops, though, as that would ruin cucumber's error reporting.  I abuse that enough as it is....<br>

<br>Nik<br></div></div></div></div>