Hi Jian, Many of my tests are working but one that updates a clickable InputBox is not. The value is updated but then the getText() method doesn't return the new value. Ajax is used. I have screenshots if you'd like to see them.
Jade On Sep 9, 8:38 am, Jade <[email protected]> wrote: > 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 > > ... > > 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.
