[QA] Best practices for long scenarios in Cucumber?
Jeff Hall
jhall at wikimedia.org
Tue Dec 17 22:39:46 UTC 2013
Thanks for the great feedback Chris and Nik.
Once I get the basic test in place, I'll play around with re-factoring
based on these suggested approaches and see which one brings maximum
Cucumber bliss!
- Jeff
On 12/17/13 2:04 PM, Nikolas Everett wrote:
>
>
>
> On Tue, Dec 17, 2013 at 4:51 PM, Chris McMahon <cmcmahon at wikimedia.org
> <mailto:cmcmahon at wikimedia.org>> wrote:
>
>
>
>
> On Tue, Dec 17, 2013 at 2:42 PM, Nikolas Everett
> <neverett at wikimedia.org <mailto:neverett at wikimedia.org>> wrote:
>
> On Tue, Dec 17, 2013 at 4:26 PM, Jeff Hall
> <jhall at wikimedia.org <mailto:jhall at wikimedia.org>> wrote:
>
> 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:
>
>
> 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.
>
>
> Nik is a master of this (and I learned from the CirrusSearch
> examples) but such things exist in the VE repo also:
> https://git.wikimedia.org/blob/mediawiki%2Fextensions%2FVisualEditor/b922592902ad57f770b6810566b820aada74aa47/modules%2Fve-mw%2Ftest%2Fbrowser%2Ffeatures%2Fsupport%2Fhooks.rb
>
> 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.
>
> So bottom line might be to use a hook that is aware of the
> REUSE_BROWSER env var.
>
>
> 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.
>
> 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....
>
> Nik
>
>
> _______________________________________________
> QA mailing list
> QA at lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/qa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wikimedia.org/pipermail/qa/attachments/20131217/9dd996d3/attachment.html>
More information about the QA
mailing list