2 messages in com.canoo.lists.webtest[Webtest] nested <repeat> blocks reta...| From | Sent On | Attachments |
|---|---|---|
| Craig Copeland | 28 Sep 2006 07:22 | |
| Marc Guillemot | 28 Sep 2006 13:39 |
| Subject: | [Webtest] nested <repeat> blocks retain old property values![]() |
|---|---|
| From: | Craig Copeland (crai...@yahoo.com) |
| Date: | 09/28/2006 07:22:03 AM |
| List: | com.canoo.lists.webtest |
A nested <repeat> block (an inner loop) appears to retain the property values that it had when it (the inner loop) *exited* the first time. Therefore, if a property is changed in the outer block, the inner block will not recognize this change on second and subsequent iterations.
Please, let me know if I'm missing something. Thanks, Craig
Example: ======== Test Script ======== <?xml version="1.0"?> <!DOCTYPE project SYSTEM "WebTest.dtd"[ ]> <project name="Testing 1.2.3" basedir="." default="main"> <property name="webtest.home" location="C:\canoo-webtest"/> <import file="${webtest.home}/lib/taskdef.xml"/> <target name="main"> <webtest name="myTest"> <steps> <repeat startCount="1" endCount="4" > <ifStep> <condition> <verifyXPath xpath="#{count} = 1" /> </condition> <storeProperty property="set_in_outer_loop" propertyType="dynamic" value="Numero uno" /> </ifStep> <ifStep> <condition> <verifyXPath xpath="#{count} != 1" /> </condition> <storeProperty property="set_in_outer_loop" propertyType="dynamic" value="Elsewhere" /> </ifStep> <antWrapper> <echo message="DEBUG: OUTER loop: ##{count}"/> <echo message="DEBUG: OUTER loop: set_in_outer_loop: '#{set_in_outer_loop}'"/> </antWrapper> <repeat startCount="1" endCount="5" counterName="inner_loop"> <antWrapper> <echo message="DEBUG: inner loop: ##{inner_loop}"/> <echo message="DEBUG: inner loop: set_in_outer_loop: '#{set_in_outer_loop}'"/> <echo message="DEBUG: inner loop: outer's counter: ##{count}"/> </antWrapper> </repeat> </repeat> </steps> </webtest> </target> </project>
======== OUTPUT ======== Buildfile: tests\test4.xml
main: Overriding previous definition of reference to ant.PropertyHelper [echo] DEBUG: OUTER loop: #1 [echo] DEBUG: OUTER loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: #1 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #2 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #3 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #4 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: OUTER loop: #2 [echo] DEBUG: OUTER loop: set_in_outer_loop: 'Elsewhere' [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: OUTER loop: #3 [echo] DEBUG: OUTER loop: set_in_outer_loop: 'Elsewhere' [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: OUTER loop: #4 [echo] DEBUG: OUTER loop: set_in_outer_loop: 'Elsewhere' [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 [echo] DEBUG: inner loop: #5 [echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno' [echo] DEBUG: inner loop: outer's counter: #1 Overriding previous definition of reference to ant.PropertyHelper
BUILD SUCCESSFUL Total time: 4 seconds
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com




