The magic lies in the Tellurium core bundle tier. The bundle tier adds the
uid information for each call if it is available.
For example, look at the following call to selenium server when use Selenium
API for the keyDown event.
getBundleResponse[[{"uid":"Form.Username.Input","args":["jquery=form tr
input[type=text][name=j]","t"],"name":"keyDown","sequ":39}]
The uid information can be used to locate UI object in the UI module on the
Engine side. When the UI module caching is on by calling
useCache(true)
the uid is actually used and the locator "jquery=form tr
input[type=text][name=j]" is ignored under the hood. As a result,
if the UI module caching is on, locator does not matter any more, neither
xpath nor css selector will be used. Instead, the engine
will try to locate the UI object from the caching directly. Ideally, core
does not need to pass in the locator when the UI module
caching is on, but for backward compatibility, we still keep it there for a
while.
Hope this clarifies my answer.
Thanks,
Jian
On Tue, Jan 26, 2010 at 2:15 PM, David Liu <[email protected]> wrote:
> I don't quite get what you said "Selenium API calls can also use UI
> module caching".
> Selenium APIs use locator directly, how can they use the UI module in
> Engine?
>
> Could you elaborate it a bit more?
>
> On Jan 26, 1:58 pm, Jian Fang <[email protected]> wrote:
> > Good catch. The first one is correct.
> >
> > The original APIs were like the second one, but were changed to the first
> > format so
> > that Selenium APIs can also benefit from the UI module caching. That is
> to
> > say,
> > Selenium API calls can also use UI module caching.
> >
> > Later on, we like to change the new Engine APIs to
> >
> > TelluriumApi.prototype.getCSS = function(uid, cssName)
> >
> > The major difference is that the uid can get back the Javascript UI
> object,
> > instead of
> > DOM reference. Using the Javascript UI object, we can move some core
> > functionalities
> > to the Engine side. For example, getTableCellText will be call the uid
> > directly and on
> > the Engine side, first find the UI object, then call the getTableCellText
> > method on the
> > UI object.
> >
> > However, all these changes are behind the scene and should not affect
> users'
> > test cases
> > because we keep the DslContext intact unless users call the native API
> > directly.
> >
> > Thanks,
> >
> > Jian
> >
> > On Tue, Jan 26, 2010 at 1:48 PM, David Liu <[email protected]>
> wrote:
> > > Hi,
> >
> > > I looked at the new Tellurium Engine apis from the 0.7.0 wiki page at
> >
> > >
> http://code.google.com/p/aost/wiki/Tellurium070Update#Tellurium_New_APIs
> >
> > > and they seems to be inconsistent.
> >
> > > In section "tellurium new apis", the getCSS is defined as
> >
> > > TelluriumApi.prototype.getCSS = function(locator, cssName)
> >
> > > But in the later section, it is shown as
> >
> > > TelluriumApi.prototype.getCSS = function(element, cssName);
> >
> > > Which one is correct?
> >
> > > --
> > > 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.