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 <[email protected] <mailto:[email protected]>> wrote:




    On Tue, Dec 17, 2013 at 2:42 PM, Nikolas Everett
    <[email protected] <mailto:[email protected]>> wrote:

        On Tue, Dec 17, 2013 at 4:26 PM, Jeff Hall
        <[email protected] <mailto:[email protected]>> 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
[email protected]
https://lists.wikimedia.org/mailman/listinfo/qa

_______________________________________________
QA mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/qa

Reply via email to