You're awesome! Thank you so much Jian. I'll try them out today.

Jade

On Sep 8, 9:27 pm, Jian Fang <[email protected]> wrote:
> 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/seleni...
>
> http://maven.kungfuters.org/content/repositories/snapshots/org/tellur...
>
> 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")
>
> ...
>
> 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].
For more options, visit this group at 
http://groups.google.com/group/tellurium-users?hl=en.

Reply via email to