I mean, if you call noTest()
the problematic event handlers are delegated to Selenium, thus, they should work. Currently, I delegate click and clickAt to Selenium. I will add others such as keyDown and keyPress etc tonight. Thanks, Jian On Wed, Sep 8, 2010 at 4:52 PM, Jian Fang <[email protected]> wrote: > The good news is that I have put a new delegation mechanism in the new > Engine, i.e, it delegates some > problematic actions such as click to Selenium call. That is to say, you can > simply use Tellurium new engine. > > If you want to help us to test the new APIs, simply call > > helpTest(); > > in your code and call > > noTest() > > to end. Thus, your code still runs with Tellurium new Engine, just couple > event handlers such as click are problematic. > > Thanks, > > Jian > > > On Wed, Sep 8, 2010 at 10:45 AM, Jian Fang <[email protected]>wrote: > >> To turn the tellurium engine on and off, simply use the following command >> anywhere you like >> >> useTelluriumEngine(boolean isUse) >> >> or >> >> enableTelluriumEngine() >> disableTelluriumEngine() >> >> in DslContext. The framework will do the handover automatically for you >> under the hood. >> >> 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]> >>> > >>> > >>> > > > > > > > . >>> > > > > > > > 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]<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 >>> > > [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 >>> [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.
