[Webtest] <repeat> bug?

Hinks, Nathan (GE Healthcare) Hinks, Nathan (GE Healthcare)" <Nathan.Hinks@ge.com
Mon, 6 Aug 2007 12:43:56 -0400


I've been trying to use a repeat step to check format in several tables
(ie, get the table with xpath, then parse multiple cells).  I ran into a
problem whenever I had more steps inside the repeat step than the number
of iterations of the repeat loop.  Originally I figured it was just xml
syntax, so I created a couple very simple test cases and had the same
problem.  Basically if you have the repeat step iterate n times, if
there are n+1 or greater number of steps inside the loop, it will insert
an extra unexecuted step for each extra step.  I can make a workaround
by just throwing all my steps in a <group> tag, but that's clumsy.  It
doesn't seem to be documented anywhere and I was curious if I'm missing
a solution.
=20
For example:

            <repeat count=3D"1">
               <verifyText text=3D"td" />
               <verifyText text=3D"tr" />
               <echo>#{count}</echo>
            </repeat>


Returned:
            <step>
                <parameter name=3D"count" value=3D"1"/>
                <parameter name=3D"taskName" value=3D"repeat"/>
                <result>
                    <completed duration=3D"10"/>
                </result>
                <step>
                    <parameter name=3D"description" value=3D"Iteration =
0"/>
                    <parameter name=3D"taskName" value=3D"iteration
wrapper"/>
                    <result>
                        <completed duration=3D"0"/>
                    </result>
                    <step>
                        <parameter name=3D"taskName" =
value=3D"verifyText"/>
                        <parameter name=3D"text" value=3D"td"/>
                        <result>
                            <completed duration=3D"0"/>
                        </result>
                    </step>
                    <step>
                        <parameter name=3D"taskName" =
value=3D"verifyText"/>
                        <parameter name=3D"text" value=3D"tr"/>
                        <result>
                            <completed duration=3D"0"/>
                        </result>
                    </step>
                    <step>
                        <parameter name=3D"nested text" value=3D"0"/>
                        <parameter name=3D"taskName" value=3D"echo"/>
                        <result>
                            <completed duration=3D"0"/>
                        </result>
                    </step>
                </step>
                <step>
                    <parameter name=3D"taskName" value=3D"verifyText"/>
                    <parameter name=3D"text" value=3D"tr"/>
                    <result>
                        <notexecuted duration=3D"0"/>
                    </result>
                </step>
                <step>
                    <parameter name=3D"nested text" value=3D"#{count}"/>
                    <parameter name=3D"taskName" value=3D"echo"/>
                    <result>
                        <notexecuted duration=3D"0"/>
                    </result>
                </step>
            </step>

It doesn't interrupt the test or cause it to fail, but it's still rather
annoying.

Thanks,

Nathan Hinks