I forgot to attach the spreadsheet:
_________________________________________________________________________
This example test will always fail with the exception: 2/2 executions of
nested tasks failed:
<webtest name="try data driven">
&sharedConfig;
<dataDriven tableContainer="test.xls">
<invoke url="${Page}" />
<enableJavaScript description="Disable JavaScript" enable="false"
/>
<!-- If label is in the form of an xpath,
clickLink with xpath, if not, then
clickLink with label -->
<ifStep>
<condition>
<groovy description="Check to see if the label is really an
xpath"
replaceProperties="true" >
assert (${Label}.indexOf("/html") != -1);
</groovy>
</condition>
<then>
<clickLink xpath="${Label}" />
</then>
<else>
<clickLink label="${Label}" />
</else>
</ifStep>
</dataDriven>
</webtest>
This test reads in data from a given spreadsheet (attached). The first
column is a list of relative URLs. The second column is a list of href
links on corresponding URL. The third column is the label associated with
the href link.
Some of the "labels," however, are listed as xpaths (starting with
/html/body...) I need to be able to distinguish when a label is in xpath
form, so I chose to make a groovy assertion based on the java indexOf()
method. For some reason, though, webtest always fails on this assertion.
I have also tried evaluating the string with an if/else block. This failed
with similar results. I also tried storing the ant variable as a webtest
property and evaluating it this way. This also failed.
Note: I have tried echo-ing the ${Label} variable inside the groovy block
and it represents the string correctly.
Table Data:
Column 1
Page
/cgi-bin/dynamic/topbar.html
/cgi-bin/dynamic/printer/langbar.html
Column 2
Link
/cgi-bin/dynamic/topbar.html
/
Column 3
Label
Refresh
/html/body/table/tbody/tr/td/form/a[0]/img
Using WebTest at R_1758
Thanks,
Kelcy Monday
test.xls
Description: MS-Excel spreadsheet

