Ok, I added mouse and key events to the delegation list to Selenium. Now,
you can simply call

useTelluriumEngine(true)

and then try your tab test case with the following artifacts:

http://maven.kungfuters.org/content/repositories/snapshots/org/seleniumhq/selenium/server/selenium-server/1.0.1-te5-SNAPSHOT/selenium-server-1.0.1-te5-20100909.022319-8.jar

http://maven.kungfuters.org/content/repositories/snapshots/org/telluriumsource/tellurium-core/0.8.0-SNAPSHOT/tellurium-core-0.8.0-20100909.022558-30.jar

Thanks,

Jian

On Wed, Sep 8, 2010 at 8:55 PM, Jian Fang <[email protected]> wrote:

> keyUp and keyDown are not exposed in 0.7.0, but you can use
>
> def keyType(String uid, def input)
>
> which will fire different key events such as keyUp and keyDown to simulate
> user's behavior.
>
> Thanks,
>
> Jian
>
>
> On Wed, Sep 8, 2010 at 5:29 PM, Jade <[email protected]> wrote:
>
>> Hi Jian,
>>
>> Thanks very much for the information! That will help a lot with my
>> testing.
>>
>> I'm still trying to figure out how to simulate pressing the tab key.
>>
>> Apparently keyUp and keyDown aren't avail in 0.7.0 and I've moved back
>> to that version temporarily. Any ideas?
>>
>> Jade
>>
>> On Sep 8, 9:40 am, Jian Fang <[email protected]> wrote:
>> > No, that is not true. Tellurium works in two modes:
>> >
>> > http://code.google.com/p/aost/wiki/TelluriumAWrapOfSelenium
>> >
>> > 1) Selenium wrapper: Tellurium core generates runtime locators from UI
>> > modules, then
>> > call Selenium APIs. That is to say:
>> >
>> > Tellurium core  --> UI module --> runtime locator --> Selenium APIs with
>> > locator
>> >
>> > 2) Tellurium way: Tellurium Engine does UI module locating and call
>> > Tellurium APIs.
>> >
>> > Tellurium Core --> Pass UI module --> Tellurium Engine does UI module
>> > locating
>> > Tellurium Core --> UID based call --> Tellurium APIs.
>> >
>> > If you call useTelluriumEngine(false), you are running in mode 1),
>> > otherwise, it is in mode 2.
>> >
>> > Even in mode 1), you still benefit from the UI module definition, css
>> > selector, and some new APIs in term of
>> > Selenium extension.
>> >
>> > Thanks,
>> >
>> > Jian
>> >
>> > On Wed, Sep 8, 2010 at 10:30 AM, Jade <[email protected]> wrote:
>> > > Hi Jian,
>> >
>> > > Thank you for the information. I'm still unclear about a few items.
>> >
>> > > The reason that I started using tellurium is because certain tests
>> > > such as clicking on all checkboxes in a form weren't working with
>> > > selenium. In addition, I liked the separation of the module
>> > > definitions from the test code. Since the tellurium engine isn't
>> > > working at times with ajax, I've turned it off but then I'm unclear
>> > > about when exactly I need to turn it back on? From your message, I'm
>> > > afraid that I won't be able to use the module definitions when the
>> > > tellurium engine is off. Is that correct?
>> >
>> > > Jade
>> >
>> > > On Sep 8, 9:04 am, Jian Fang <[email protected]> wrote:
>> > > > Hi Jade,
>> >
>> > > > I understand your confusion. 0.7.0 was designed in a way for
>> Selenium
>> > > APIs
>> > > > to reuse the
>> > > > caching mechanism in the Tellurium new Engine, thus, many options
>> are
>> > > > provided to fine
>> > > > tune the framework behavior. But now, seems this is a bit
>> over-design and
>> > > > could cause a lot of
>> > > > confusions. As a result, in 0.8.0, Selenium APIs will not be coupled
>> with
>> > > > Tellurium Engine
>> > > > that is to say,
>> >
>> > > > Selenium APIs:   CSS/XPath selector, no caching mechanism
>> > > > Tellurium APIs:  UI module locating, caching mechanism
>> >
>> > > > With that, useTelluriumEngine(boolean isUse) should be enough to
>> switch
>> > > > between Tellurium APIs
>> > > > and Selenium APIs.
>> >
>> > > > useTelluriumEngine(false) and useTelluriumApi(true) seem to use
>> Tellurium
>> > > > APIs, but turn off
>> > > > the caching mechanism, which worked one week ago. With the latest
>> update
>> > > of
>> > > > using UIDs, not
>> > > > locators for Tellurium APIs, TelluriumAPIs must work with caching.
>> That
>> > > is
>> > > > why you cannot do
>> > > > that now.
>> >
>> > > > We do appreciate you try out Tellurium new APIs and seems they
>> worked for
>> > > > most time. But
>> > > > Tellurium APIs are still experimental and please switch back to
>> Selenium
>> > > > APIs if you run into
>> > > > any problems. Please keep trying the Tellurium new APIs and
>> reporting
>> > > > problems, which is
>> > > > the only way Tellurium Engine could be improved.
>> >
>> > > > As a rule of thumb, the commands in the format of
>> >
>> > > > useXXXX(boolean isUse)
>> >
>> > > > for example useTelluriumEngine(boolean isUse), are defined for
>> Groovy and
>> > > > Java base test cases.
>> >
>> > > > The counterparts of the same command is
>> >
>> > > > enableXXXX()
>> > > > disableXXXX()
>> >
>> > > > in DslContext.
>> >
>> > > > Hope this helps.
>> >
>> > > > Thanks,
>> >
>> > > > Jian
>> >
>> > > > On Wed, Sep 8, 2010 at 9:37 AM, Jade <[email protected]> wrote:
>> > > > > Hi Jian,
>> >
>> > > > > Is there any documentation that specifies what the following
>> options
>> > > > > provide?
>> >
>> > > > > useTelluriumEngine(true) (not available in
>> TelluriumDataDrivenModule)
>> > > > > vs enableTelluriumEngine() (available in
>> TelluriumDataDrivenModule)
>> >
>> > > > > vs. useTelluriumApi(true)
>> >
>> > > > > My tests seem to work best when useTelluriumEngine(false) and
>> > > > > useTelluriumApi(true) is set in the TelluriumDataDrivenTest
>> subclass
>> > > > > but I'm wondering what specific functionality that is turning off
>> and
>> > > > > on for my tests?
>> >
>> > > > > Jade
>> >
>> > > > > On Sep 8, 8:00 am, Jade <[email protected]> wrote:
>> > > > > > In my groovy code of my data driven test (subclass of
>> > > > > > TelluriumDataDrivenModule), I have the call:
>> >
>> > > > > > validate "DspaceLoginForm"
>> >
>> > > > > >                                 useTelluriumEngine(true)
>> > > > > >                                 type
>> "DspaceLoginForm.LoginEmail",
>> > > email
>> > > > > >                                 pause
>> VireoTestConfig.getPauseTime()
>> >
>> > > > > > which results in this exception:
>> >
>> > > > > > groovy.lang.MissingMethodException: No signature of method:
>> >
>> > >
>> org.tdl.vireo.webtest.datadriventests.module.DspaceLogonModule.useTelluriumEngine()
>> > > > > > is applicable for argument types: (java.lang.Boolean) values:
>> [true]
>> > > > > > Possible solutions: useTelluriumApi(boolean)
>> >
>> > > > > > I'm using the latest jars as of Sept 7, 2010
>> >
>> > > > > > Jade
>> >
>> > > > > > On Sep 7, 7:12 pm, Jian Fang <[email protected]> wrote:
>> >
>> > > > > > > useTelluriumEngine(isUse) actually calls couple APIs under the
>> > > hood,
>> >
>> > >http://code.google.com/p/aost/wiki/UserGuide070TelluriumBasics#useTel.
>> > > > > ..
>> >
>> > > > > > > In 0.8.0, we may want to remove other options so that user
>> only
>> > > uses
>> > > > > > > useTelluriumEngine(isUse) to change the framework behavior. If
>> you
>> > > can
>> > > > > call
>> > > > > > > useTelluriumApi(), you should be able to call
>> > > useTelluriumEngine(isUse)
>> > > > > as
>> > > > > > > well, they are
>> > > > > > > all defined in the test case.
>> >
>> > > > > > > Thanks,
>> >
>> > > > > > > Jian
>> >
>> > > > > > > On Tue, Sep 7, 2010 at 5:17 PM, Jade <[email protected]>
>> wrote:
>> > > > > > > > Since the tests are data driven, all of the code that
>> manipulates
>> > > the
>> > > > > > > > html elements is in groovy. The only option is to set
>> > > > > > > > useTelluriumApi() to false before calling these lines and
>> then to
>> > > > > true
>> > > > > > > > afterwards but that's not the same as setting
>> TelluriumEngine to
>> > > > > > > > false. I can set the TelluriumEngine to false in the test
>> code
>> > > such
>> > > > > as
>> > > > > > > > public void testDataDriven() {
>> >
>> > > > > > > >                // If you are not using Tellurium Engine, you
>> > > don't
>> > > > > need to
>> > > > > > > > use
>> > > > > > > > cache.
>> > > > > > > >                useTelluriumEngine(false);
>> >
>> > > > > > > > but then I can't turn it off only before calling the few
>> lines of
>> > > > > code
>> > > > > > > > in my earlier post and then turn the tellurium engine back
>> on
>> > > again.
>> >
>> > > > > > > > What different behaviors will we see with
>> > > useTelluriumEngine(false);
>> > > > > > > > versus useTelluriumApi(false); ?
>> >
>> > > > > > > > Jade
>> >
>> > > > > > > > On Sep 7, 3:36 pm, Jian Fang <[email protected]>
>> wrote:
>> > > > > > > > > Well, it depends on what key events the Javascript handler
>> > > responds
>> > > > > to.
>> > > > > > > > If
>> > > > > > > > > you use Trump to record the UI,
>> > > > > > > > > what is the respond attribute for the generated UI object?
>> >
>> > > > > > > > > Also, Tellurium new Engine may have event handling
>> problem,
>> > > simply
>> > > > > switch
>> > > > > > > > > back to Selenium to see if
>> > > > > > > > > your key event works by calling
>> >
>> > > > > > > > > useTelluriumEngine(false);
>> >
>> > > > > > > > > Thanks,
>> >
>> > > > > > > > > Jian
>> >
>> > > > > > > > > On Tue, Sep 7, 2010 at 4:30 PM, Jade <[email protected]>
>> wrote:
>> > > > > > > > > > Hi again,
>> >
>> > > > > > > > > > Our forms use a lot of ajax. In order to change a value
>> of a
>> > > text
>> > > > > box,
>> > > > > > > > > > the user has to first click on the text box. That
>> changes the
>> > > > > text box
>> > > > > > > > > > into an input box. Then the user changes the value and
>> > > presses
>> > > > > the tab
>> > > > > > > > > > key to trigger ajax to save the value.
>> >
>> > > > > > > > > > I've tried simulating pressing the tab key with this
>> code:
>> >
>> > > > > > > > > > // press the tab key which triggers saving the value
>> > > > > > > > > >                        context.keyDown(inputUid, "\\9")
>> > > > > > > > > >                        context.keyUp(inputUid, "\\9")
>> >
>> > > > > > > > > > but it's not moving the cursor to the next field thus
>> the
>> > > data
>> > > > > changes
>> > > > > > > > > > aren't saved.
>> >
>> > > > > > > > > > What's the correct way to simulate pressing the tab key?
>> >
>> > > > > > > > > > Here are my test values for the data driven tests:
>> >
>> > > > > > > > > >        useTelluriumEngine(true);
>> > > > > > > > > >                useTelluriumApi(true);
>> > > > > > > > > >                useCache true
>> > > > > > > > > >                useCssSelector(true);
>> > > > > > > > > >                useTrace(true);
>> >
>> > > > > > > > > > Jade
>> >
>> > > > > > > > > > --
>> > > > > > > > > > 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]<tellurium-users%[email protected]>
>> <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> >
>> > > <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> >
>> >
>> > > > > <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> >
>> > > <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> >
>> >
>> > > > > > > > <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> >
>> > > <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> >
>> >
>> > > > > <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> >
>> > > <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> <tellurium-users%[email protected]<tellurium-users%[email protected]>
>> >
>> >
>> > > > > > > > > > .
>> > > > > > > > > > For more options, visit this group at
>> > > > > > > > > >http://groups.google.com/group/tellurium-users?hl=en.
>> >
>> > > > > > > > --
>> > > > > > > > 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
>> >
>> > ...
>> >
>> > read more ยป
>>
>> --
>> 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]<tellurium-users%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/tellurium-users?hl=en.
>>
>>
>

-- 
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