Well, both are used to exploit information other than the current ui object itself to locate the object. But the group option in the ui definition only uses its children information to help itself to generate runtime locators. The santa algorithm is a REAL group locating algorithm and it uses all information inside the UI module, i.e., every UI object in the UI module during the branch and trim procedure.
If you use the Engine group locating, the group option from Core is ignored. Once you call useCache(true) Tellurium Core will automatically pass the UI module presentation to Engine for group locating for the first time and you don't need to manually do anything to call group locating. That is the cool part of the framework. Thanks, Jian On Wed, Feb 17, 2010 at 10:22 AM, 刘蒙 <[email protected]> wrote: > Thanks Jian. I have another question, what are the differences between > Engine group locating, i.e, Santa algorithm as you mentioned > in your email, and the group option in UI module defintion? > > > > 2010/2/17 Jian Fang <[email protected]> > > Hi Henry, >> >> Very good question. Tellurium offers the following three running modes >> >> 1) Core generates runtime XPath locator (default) >> 2) Core generates runtime CSS selector locator >> 3) Santa algorithm in Engine locates all UI elements in one shot. >> >> useCssSelector() is used to switch between 1) and 2). >> >> For 3), you need to use >> useCache(true) >> >> but Core still generates the runtime locators (xpath or css selector >> dependent on the command useCssSelector) >> and these runtime locators are actually ignored by Engine for most cases. >> The special case is that you have your >> custom UI object and your special way to generate the runtime locators for >> your custom object. You can define a custom >> UI object at Engine, otherwise, you still have to rely on the core >> generated runtime locators. >> >> Tellurium Engine offers a set of APIs same as the ones in Selenium Core, >> but re-implemented by jQuery and a set of >> extra APIs that only exist in Tellurium Engine. The useTelluriumApi() >> command is used to switch between Selenium API >> and Tellurium API. >> >> The useTelluriumEngine command is a short for the following commands >> >> void useTelluriumEngine(boolean isUse){ >> >> useCache(isUse); >> useMacroCmd(isUse); >> >> useTelluriumApi(isUse); >> } >> >> As you can see, Tellurium offers you the capability to write environment >> agnostic test code and you can run them in different >> modes as you like. >> >> Hope this can help. >> >> Thanks, >> >> Jian >> >> On Wed, Feb 17, 2010 at 9:50 AM, 刘蒙 <[email protected]> wrote: >> >>> Hi, >>> >>> I am aware that there are a set of commands to set up the running >>> environment in Tellurium. >>> >>> For instance, >>> >>> useCssSelector(boolean isUse) >>> useCache(boolean isUse) >>> useTelluriumApi(boolean isUse) >>> useTelluriumEngine(boolean isUse) >>> >>> But I am confused a little bit and don't know how to use them, could >>> someone clarify when I should use which command? >>> >>> Thanks, >>> >>> Henry >>> >>> >>> >>> -- > 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.
