[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