Dear all
I have written a Groovy script that updates a database, checks for
certain information on a webpage, updates the database again and
checks if the information on the webpage has changed:
void test01_01_03() {
def db = new groovy.sql.Sql(source)
webtest("TC01_01_03") {
db.execute '''
UPDATE xxx SET yyy = true;
'''
openPage()
verifyText text:"Expected text", description:"S1"
db.execute """
UPDATE xxx SET yyy = false;
"""
openPage()
verifyText text:"Different text", description:"S2"
}
def openPage() {
ant.group {
invoke url:"http://mypage.mysite.com", description: "Open the
page";
verifyTitle text:"Some title", description:"Verify title"
clickLink href:"start.action", description:"Open the requested
page"
verifyTitle text:"Another title", description:"Verify title"
}
}
My problem is that the second UPDATE statement somehow gets executed
before the first openPage() method call and the opening of the page
under test has finished. The consequence is that verifyText
text:"Expected text" fails because the page actually contains
"Different text". If I disable the second UPDATE and following
statements, then the test passes.
What is happening here, why is it happening and what can I do to avoid
it? How can I prevent the second db.execute being executed until the
first verifyText has executed? Thanks for any suggestions!
Regards
Beat