Marc, I sent this post to the group, got an email but where can I see
this? the lists.canoo.com site only shows archives.... is there a
website somewhere where I can see responses?
thanks!
Hanif
On 20/05/2010 9:44 AM, Hanif wrote:
Hi Marc, as requested, I'm posting the following to the group....
I'm having trouble getting setselectfield to wait for the ajax
response to come back. If you look at the code below in between
getting the first sku option and the second, the page is in a
transient state where its waiting for the ajax response for the second
sku option but the webtest wants to set the field before it is even
available. I've tried everything under the sun, from 'retry', to
adding 'sleep', to setting 'easyajax to true', I have the latest
webtest (build webtest-releases3.0-1758). The funny thing is, this
test, when expressed as groovy does work when I used 'retry' for the
second setselectfield which is visible after an ajax call, but for the
life of me could not get the dataDriven ant task to work, so I
switched to the webtest being expressed in xml and the dataDriven task
now works but now I have this ajax problem!
Any help would be appreciated!
thanks Marc!
SimpleTest.xml:
<project name="SimpleTest" default="wt.testInWork">
<target name="wt.testInWork">
<dataDriven tableContainer="MultipleSkuOptionsAddToCartTest.xls">
<webtest name="my simple Test">
<config easyajax="true"/>
<config>
<option
name="ThrowExceptionOnScriptError"
value="false"/>
</config>
<steps>
<invoke url="http://${hostname}" description="Get Home Page"/>
<echo message="HOSTNAME IS ${hostname}"/>
<echo message="datadriven_resources is ${datadriven_resources}"/>
<!--<echo message="HELLO ${search_sku}"/>-->
<setInputField
name="search_string"
value="${search_sku}">
</setInputField>
<clickButton label="Search"/>
<sleep seconds="3"/>
<setSelectField
description="1st Sku option"
htmlId="skuOpt0"
text="${sku_option0}"/>
<sleep seconds="2"/>
<!--<enableJavaScript enable="false" />-->
<retry maxcount="4">
<setSelectField
formName="addToCart"
description="2nd Sku option"
name="skuOption_1"
text="${sku_option1}"/>
</retry>
<clickButton label="add To Cart button"/>
<sleep seconds="2"/>
<!--use this response to revert back to the old html before the 'Add
To Cart' Ajax action was called -->
<previousResponse/>
<clickLink description="Click link: Proceed to Checkout"
htmlId="affirmativeShoppingCartLink"/>
<echo message="resultant sku is ${resultant_sku}"/>
<verifyXPath
description="verifying text on the screen"
text="SKU ${resultant_sku}"
xpath="/html/body/div/table/tbody/tr[2]/td/table/tbody/tr[2]/td/div/div/div[3]/form/ul[2]/li[1]/div[2]/p[1]">
</verifyXPath>
</steps>
</webtest>
</dataDriven>
</target>
</project>