Forum Discussion

arussell14's avatar
arussell14
New Contributor
5 years ago
Solved

Loop TestSteps are Displaying Choices Made for Previously-Selected Loops

Loop TestSteps in my TestCases are getting out of order. This is resulting in extra, incorrect runs of said TestCases.

 

If I change the "DataSource Step" and "Target Step" to their correct values, click "OK", and then open up the next Loop's configuration, then those will be incorrect as well -- displaying what I selected for the previously-selected Loop TestStep instead of their expected values. I have a screenshot of the order I am trying to have the Loops operate (attached image "testSteps").

 

Thought it may also be worth mentioning that when I open the Loop TestSteps configuration, that I see what looks like two drop-down bars overlapping each other (shown in attached image "Loop")? Not sure if this may be related.

 

System information:

OS: Ubuntu 18.04

ReadyAPI version: 3.0.0

  • Hi arussell14,

    It appears (according to your test steps.jpg) that youre not configuring the loop test steps correctly.

    Check out https://support.smartbear.com/readyapi/docs/soapui/steps/data-source-loop.html which describes how to configure but the short answer is that i dont think youre setting the 'target' test step for each loop to the correct teststep and you have loops within loops.

    Firstly the target step should be the step which performs some action such as a ReST or SOAP or RunTestcase step, whereas your 2nd loop points to a datasource as its target step.

    The jpg attached shows you have 3 loops and each loop (except the outer loop) is contained in either of 1 or 2 other loops and although i dont use looping alot (due to differences in assertions), ive used it enough but ive never had loops within loops, my loops have always ran consecutively, never concurrently.
    I tried looking at your test case to get an understanding of the flow/sequence of what you would want to occur when you execute your test but im struggling to understand what you actually want to happen. For example if the itemloop (the most inner loop) had X loops, are you expecting that loop sequence to finish all its loops before customerloop begins (after itemloops X loope executed)?
    When customerloop begins its Y loops, these are all executed (proceeding through all the steps for this loop including the steps for the itemloop) and once Y loops are completed, the sequence then begins all thr steps required for the Z locationloops?

    Am i understanding the sequence when your testcase is executed....is that how you want the sequencing to occur when the testcase is executed?

    The logging of that sounds like a nightmare and im struggling to appreciate why reexecuting all the same steps again gives any value whatsoever, although i admit i dont know what the objectives of your testcase are!

    In summary:

    First things first, id repoint each of the loops target step to the correct step.
    Then id revisit the sequence looping to ensure this is actually what you want and if the testcase executes in the flow you were expecting.

    Nice one,

    Rich

1 Reply

  • richie's avatar
    richie
    Community Hero
    Hi arussell14,

    It appears (according to your test steps.jpg) that youre not configuring the loop test steps correctly.

    Check out https://support.smartbear.com/readyapi/docs/soapui/steps/data-source-loop.html which describes how to configure but the short answer is that i dont think youre setting the 'target' test step for each loop to the correct teststep and you have loops within loops.

    Firstly the target step should be the step which performs some action such as a ReST or SOAP or RunTestcase step, whereas your 2nd loop points to a datasource as its target step.

    The jpg attached shows you have 3 loops and each loop (except the outer loop) is contained in either of 1 or 2 other loops and although i dont use looping alot (due to differences in assertions), ive used it enough but ive never had loops within loops, my loops have always ran consecutively, never concurrently.
    I tried looking at your test case to get an understanding of the flow/sequence of what you would want to occur when you execute your test but im struggling to understand what you actually want to happen. For example if the itemloop (the most inner loop) had X loops, are you expecting that loop sequence to finish all its loops before customerloop begins (after itemloops X loope executed)?
    When customerloop begins its Y loops, these are all executed (proceeding through all the steps for this loop including the steps for the itemloop) and once Y loops are completed, the sequence then begins all thr steps required for the Z locationloops?

    Am i understanding the sequence when your testcase is executed....is that how you want the sequencing to occur when the testcase is executed?

    The logging of that sounds like a nightmare and im struggling to appreciate why reexecuting all the same steps again gives any value whatsoever, although i admit i dont know what the objectives of your testcase are!

    In summary:

    First things first, id repoint each of the loops target step to the correct step.
    Then id revisit the sequence looping to ensure this is actually what you want and if the testcase executes in the flow you were expecting.

    Nice one,

    Rich