Hari,

I refactor the namespace map to be global. Please update the selenium-server
from

http://kungfuters.org/nexus/content/repositories/thirdparty/org/seleniumhq/selenium/server/selenium-server/1.0-te-2/

Please let me know if it works for you.

Thanks,

Jian

On Sat, May 16, 2009 at 8:31 AM, Harihara Vinayakaram <[email protected]>wrote:

> Hi
>   I am Just attaching the entire project and the xforms file for reference
>
> The xforms file is called test3.xhtml .  u can copy this to the root of
> your web server . (and modfy the connectUrl line in Test01.groovy )
>
>  I run the selenium server as
>
> java -jar selenium-server.jar -port 4440 -firefoxProfileTemplate
> c:\mozilla\myTemplate -userExtensions userExtensions.js
>
> On the firefox client you need to search for the xforms plugin and intall
> (It works on Ubuntu 8.04 32 bit , Windows )
>
> running ant should print a failure saying invalid xpath. If you make the
> change in the selenium-serverbot.js and repackage the jar and then run again
> things are fine
>
> I could not figure out why the nsFromMap is null
>
> Regards
> Hari
>
>
> On Sat, May 16, 2009 at 5:41 PM, Harihara Vinayakaram <[email protected]>wrote:
>
>> Hi Jian
>>    I have attached a test3.xhtml which is a xform page . You need to
>> enable the XForm add-on in Mozilla .
>>
>>    I debugged the problem and found the problem is in the
>> namespaceResolver in the selenium-serverbot .js . I commented out your code
>> (nsFromMap.get(prefix) ) and put the old code back in with xforms
>>
>>  if (prefix == 'xhtml') {
>>       return "http://www.w3.org/1999/xhtml";;
>>     } else if (prefix == 'xf' || prefix == 'xforms') {
>>       alert ("returning xforms");
>>       return "http://www.w3.org/2002/xforms";;
>>     } else if (prefix == 'ev') {
>>       return "http://www.w3.org/2001/xml-events";;
>>     } else {
>>         throw new Error("Unknown namespace: " + prefix + ".");
>>
>> Now things work perfectly . I don't know why the nsFromMap is null even if
>> I call the registerNameSpace
>>
>> Regards
>> Hari
>>
>>
>> On Sat, May 16, 2009 at 2:48 AM, Jian Fang <[email protected]>wrote:
>>
>>> I still cannot create and run a test case because I do not know any
>>> public website
>>> that uses XForm.
>>>
>>> Also, have you tried to use jQuery selector to see if you could select
>>> the element correctly?
>>>
>>> Thanks,
>>>
>>> Jian
>>>
>>> On Fri, May 15, 2009 at 10:15 AM, Jian Fang <[email protected]>wrote:
>>>
>>>> It is invalid only in Selenium, right? For xml document processing, you
>>>> have to add name space there.
>>>>
>>>> I will check where caused the problem in Selenium core.
>>>>
>>>> Thanks,
>>>>
>>>> Jian
>>>>
>>>>
>>>> On Fri, May 15, 2009 at 10:10 AM, Harihara Vinayakaram <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi
>>>>> I remember reading that in general an XPath with namespace (any
>>>>> namespace) is treated as Invalid
>>>>>   //xforms:lab...@id="message"]
>>>>>
>>>>> which is why a document.evaluate works for these types of expressions.
>>>>> I have attached an example project which simulates the same
>>>>>
>>>>> Regards
>>>>> Hari
>>>>>
>>>>>
>>>>>
>>>>> On Fri, May 15, 2009 at 6:20 PM, Jian Fang 
>>>>> <[email protected]>wrote:
>>>>>
>>>>>> Would
>>>>>>
>>>>>> //descendant-or-self::xforms:lab...@id="message"]
>>>>>>
>>>>>> be a valid XPath in general?
>>>>>>
>>>>>> We can add a custom locate strategy for you, but the best way is to
>>>>>> fix Selenium core itself
>>>>>> if the XPath is valid in general. Could you provide us a test case so
>>>>>> that I can dig into Selenium
>>>>>> core to see what caused that problem?
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Jian
>>>>>>
>>>>>>
>>>>>> On Fri, May 15, 2009 at 8:44 AM, Harihara Vinayakaram <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Putting the namespace results in the following problem in Selenium
>>>>>>>
>>>>>>> Invalid xpath: //descendant-or-self::xforms:lab...@id="message"]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> I had solved this problem in Selenium by using the Document.evaluate 
>>>>>>> and using a separate locator
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> method . Not sure how I can  call the Document.evaluate in this case 
>>>>>>> from Tellurium
>>>>>>>
>>>>>>> Regards
>>>>>>> Hari
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Thu, May 14, 2009 at 10:30 PM, Jian Fang <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Maybe later, we can refactor this so that you can register the
>>>>>>>> namespace in defineUi, i.e., put into a queue,
>>>>>>>> and let Tellurium Core handle the actual registration automatically.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, May 14, 2009 at 12:58 PM, Jian Fang <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> For example, in the @BeforeClass or @Before method after you start
>>>>>>>>> the Selenium server.
>>>>>>>>>
>>>>>>>>> On Thu, May 14, 2009 at 12:57 PM, Jian Fang <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> No, should put in your test class because it will talk to Selenium
>>>>>>>>>> server to add the name space, which is a runtime call.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Thu, May 14, 2009 at 12:50 PM, Harihara Vinayakaram <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> Can I call the registerNameSpace in the defineUi ?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Thu, May 14, 2009 at 10:02 PM, Jian Fang <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> I added registerNamespace method for you and you can try to
>>>>>>>>>>>> register the namespace before you make calls
>>>>>>>>>>>> to Selenium server. Namespace is enabled on UI objects, for
>>>>>>>>>>>> example,
>>>>>>>>>>>>
>>>>>>>>>>>> ui.Container(uid: "TEST", namespace: "ns2", clocator: [:]){
>>>>>>>>>>>>
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> Somewhere, you should call
>>>>>>>>>>>> registerNamespace("ns2", "http://tellurium.org/ns";);
>>>>>>>>>>>>
>>>>>>>>>>>> you can do the same to add the namespace in and see if it works
>>>>>>>>>>>> for you.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>
>>>>>>>>>>>> Jian
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, May 14, 2009 at 12:23 PM, Harihara Vinayakaram <
>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi
>>>>>>>>>>>>>   I have one question regarding the usage of custom classes.
>>>>>>>>>>>>> Can I directly use the XPath rather than defining an UI module  
>>>>>>>>>>>>> If so how do
>>>>>>>>>>>>> I do that ? .The reason I am asking this is because I have 
>>>>>>>>>>>>> elements that
>>>>>>>>>>>>> belong to a different name space and the last time I remember I 
>>>>>>>>>>>>> could not
>>>>>>>>>>>>> define those elements in the Ui
>>>>>>>>>>>>>
>>>>>>>>>>>>>  Let me know
>>>>>>>>>>>>>
>>>>>>>>>>>>> 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