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.

Reply via email to