Tellurium Core 0.6.0 release candidate will be out soon. Please let us know
once you test it. If it
works fine, we will include this as a new feature in 0.6.0.

Thanks,

Jian

On Mon, Apr 27, 2009 at 10:08 PM, Harihara Vinayakaram <[email protected]>wrote:

> Thanks John for the fixes. I am a bit tied up with the deadlines and I will
> try this over the weekend and let you know . I am also trying to develop a
> template like table for the repeat construct
>
> Thanks
>
> Regards
> Hari
>
>
> On Tue, Apr 28, 2009 at 6:46 AM, John <[email protected]> wrote:
>
>>
>> Rename addNamespace() to registerNamespace() and add namespace to
>> xpath builder.
>> As a result, Tellurium core supports namespace definition now, but you
>> need to register
>> namespace prefix before actually test the UI module.
>>
>> For example, look at SampleUI module
>>
>>        ui.Form(uid: "SubmitForm", namespace: "xforms", clocator:[:]){
>>          InputBox(uid: "Input", namespace: "xforms", clocator:
>> [module: "clinicalExaminationModel"])
>>          TextBox(uid: "Label", namespace: "xforms", clocator: [tag:
>> "label"])
>>        }
>>
>>
>> The generated xpath for "SubmitForm.Input" is
>>
>> //descendant-or-self::xforms:form/descendant-or-self::xforms:input
>> [...@module=\"clinicalExaminationModel\"]
>>
>> and the xpath for "SubmitForm.Label" is
>>
>> //descendant-or-self::xforms:form/descendant-or-self::xforms:label
>>
>> Then call
>>
>> registerNamespace("xform", XFORM_URI)
>>
>> to register namespace after Selenium Server is up and running.
>>
>> I do not have any web site to test, please let me know if this works
>> for you.
>>
>> Thanks,
>>
>> Jian
>>
>>
>> On Apr 27, 4:59 pm, John <[email protected]> wrote:
>> > I refactored the Selenium core a bit to allow custom namespaces. I
>> > added
>> > two methods in core DslContext to set and get namespaces. For example,
>> > see the
>> > following test in GoogleSearchTestCase:
>> >
>> >     @Test
>> >     public void testAddNamespace(){
>> >         String te_ns = "http://tellurium.org/ns";;
>> >         gsm.addNamespace("te", te_ns);
>> >         String ns = gsm.getNamespace("te");
>> >         assertNotNull(ns);
>> >         assertEquals(te_ns, ns);
>> >     }
>> >
>> > You may also notice that there is a namespace attribute in Tellurium
>> > UI object,
>> > which is reserved for future usage. If you really need to use
>> > namespace,
>> > we can use this namespace attribute to automatically generate
>> > namespace prefix
>> > in the generated xpath. Let me know if this sounds good for you.
>> >
>> > Thanks,
>> >
>> > Jian
>> >
>> > On Apr 27, 9:44 am, John <[email protected]> wrote:
>> >
>> > > The simple and straightforward way is to add your namespace to the
>> > > BrowserBot.prototype._namespaceResolver
>> > > method and then re-jar Selenium server. We may be able to refactor
>> > > Selenium implementation for this part,
>> > > for example, use a hash map to store all namespaces so that it is
>> > > convenient to add custom namespace to it
>> > > by calling custom API.
>> >
>> > > On Apr 26, 10:13 am, Harihara Vinayakaram <[email protected]> wrote:
>> >
>> > > > Thanks John . I have a namespace resolver which resolves my xf, but
>> I did
>> > > > not know about the _namespaceResolver . I will try that and see if
>> that
>> > > > works for all my functions
>> >
>> > > > My experiments with jquery and namespaces did not go too far. 1.2.6
>> was
>> > > > broken while 1.3.2 did not perform too well . Let me see if I can
>> write some
>> > > > custom modules . I seem to have gotten used to the Tellurium way of
>> doing
>> > > > things and the plan selenium way feels difficult :-)
>> >
>> > > > Regards
>> > > > Hari
>> >
>> > > > On Sun, Apr 26, 2009 at 10:19 AM, John <[email protected]>
>> wrote:
>> >
>> > > > > On Apr 25, 2:33 am, Harihara Vinayakaram <[email protected]>
>> wrote:
>> > > > > > Hi
>> > > > > >    I have added methods to access the XForm as part of the
>> > > > > > user-extensions.js and I am able to test them with Selenium
>> >
>> > > > > >    I am faced with the following questions :
>> >
>> > > > > > 1)
>> > > > > >    I cannot define a XForm module since the module definitions
>> do not
>> > > > > take a
>> > > > > > name space in the tag.   I am not sure what is the best way of
>> over
>> > > > > coming
>> > > > > > that
>> >
>> > > > > Selenium uses XPath in the following way,
>> >
>> > > > >  var results = eval_xpath(xpath, inDocument, {
>> > > > >        ignoreAttributesWithoutValue:
>> > > > > this.ignoreAttributesWithoutValue,
>> > > > >        allowNativeXpath            : this.allowNativeXpath,
>> > > > >        xpathLibrary                : this.xpathLibrary,
>> > > > >        namespaceResolver           : this._namespaceResolver
>> > > > >    });
>> >
>> > > > > Here the namespaceResolver is as follows
>> >
>> > > > > BrowserBot.prototype._namespaceResolver = function(prefix) {
>> > > > >    if (prefix == 'html' || prefix == 'xhtml' || prefix == 'x') {
>> > > > >        return 'http://www.w3.org/1999/xhtml';
>> > > > >    } else if (prefix == 'mathml') {
>> > > > >        return 'http://www.w3.org/1998/Math/MathML';
>> > > > >    } else {
>> > > > >        throw new Error("Unknown namespace: " + prefix + ".");
>> > > > >    }
>> > > > > }
>> >
>> > > > > Perhaps, you have to modify the namespaceResolver to include your
>> > > > > namespace.
>> >
>> > > > > One other option is to use jQuery and seems jQuery also supports
>> > > > > XPath and namespace, for instance, see the following post
>> >
>> > > > >http://www.xml.com/pub/a/2007/10/10/jquery-and-xml.html?page=2
>> >
>> > > > > I have not thought of this support yet. But can consider this if
>> you
>> > > > > really
>> > > > > want it.
>> >
>> > > > > > 2)
>> > > > > >    Some of the XForm controls are not visible in the DOM (The
>> XForm
>> > > > > > processor  in Mozilla uses XBL bindings and these are not
>> visible in the
>> > > > > DOM
>> > > > > > ).. One example of this is the XForm Repeat tag. I am not sure
>> how I can
>> > > > > > define them in the UI module
>> >
>> > > > > Repeat tag is used to control the rendering, right? Sounds like a
>> good
>> > > > > fit for
>> > > > > UI templates. You can define a List and use template for the
>> repeat
>> > > > > tag.
>> >
>> > > > > > 3)
>> > > > > >    Some of my tests which do not use XForm specific inputs are
>> coded as
>> > > > > > Tellurium modules (having init etc ) while the others need to be
>> accessed
>> > > > > as
>> > > > > > selenium . Is there a way I can mix these 2 (Not sure if that is
>> a good
>> > > > > idea
>> > > > > > . Is there somekind of get the selenium object of Tellurium )
>> > > > > Tellurium covers pretty much all methods in Selenium, why you need
>> to
>> > > > > use
>> > > > > selenium directly? You can use
>> >
>> > > > > customDirectCall(String method, Object[] args)
>> >
>> > > > > to pass your call to selenium directly.
>> >
>> > > > > > Regards
>> > > > > > Hari
>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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