Hi Dominic, I found the root cause of the problem, i.e., some Selenium APIs such as waitForCondition need Selenium RC to do some work for them, polling in this case, I guess. If we bundle these commands inside the getBundleResponse, it would not work any more. For the time being, I update the Tellurium core to not use bundle wrapper for these commands and I tested waitForCondition works fine now.
Please use snapshot version as follows or later, http://maven.kungfuters.org/content/repositories/snapshots/org/telluriumsource/tellurium-core/0.7.0-SNAPSHOT/tellurium-core-0.7.0-20100215.152423-91.jar In a long run, we will move those functionalities from Selenium RC to Tellurium core, or completely remove Selenium RC by adding a connector tier to Tellurium Core. Thanks, Jian On Fri, Feb 12, 2010 at 12:28 PM, Jian Fang <[email protected]>wrote: > Please use the following issue to track this problem. > > http://code.google.com/p/aost/issues/detail?id=384 > > For the time being, could you use a polling mechanism to keep checking the > condition > from your test script until this problem is resolved? > > Thanks, > > Jian > > > On Fri, Feb 12, 2010 at 4:48 AM, dominicm <[email protected]>wrote: > >> Hi Jian, >> >> Unfortunately I haven't updated for a while, so last working version >> for us was 0.7.0-20091019.164526-34 >> >> On Feb 11, 9:15 pm, Jian Fang <[email protected]> wrote: >> > I created the following test case and seems it produced the same result >> as >> > you described, i.e., return immediately. >> > >> > @Test >> > public void testWaitForCondition(){ >> > useTelluriumEngine(false); >> > jlm.waitForCondition("try {var doc >> > =selenium.browserbot.getCurrentWindow(true).document;doc.readyState >> > =='incomplete'}catch(err){false}", 10000); >> > jlm.waitForCondition("selenium.getText(\"//inp...@type='text' >> and >> > @name='j_username']\")=='Tellurium", 10000); >> > useTelluriumEngine(true); >> > jlm.waitForCondition("try {var doc >> > =selenium.browserbot.getCurrentWindow(true).document;doc.readyState >> > =='incomplete'}catch(err){false}", 10000); >> > jlm.waitForCondition("selenium.getText(\"//inp...@type='text' >> and >> > @name='j_username']\")=='Tellurium", 10000); >> > jlm.logon("tellurium", "source"); >> > } >> > >> > Result: >> > >> > TE: Name: waitForCondition, start: 1265922636902, duration: 25ms >> > TE: Name: waitForCondition, start: 1265922636929, duration: 24ms >> > >> > It is strange since Tellurium new API does not handle the >> waitForCondition >> > command and simply delegates it to selenium core. This behavior is >> proved by >> > the fact that it returns immediately no matter whether I use Tellurium >> > Engine or not. >> > >> > What was the last time your code worked fine with the waitForCondition >> > command? i.e., with 0.6.0 or what version of 0.7.0 SNAPSHOT? >> > >> > Thanks, >> > >> > Jian >> > >> > >> > -- You received this message because you are subscribed to the Google Groups "tellurium-users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/tellurium-users?hl=en.
