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

Reply via email to