Hey, Rob. :-)
I'd love to use XSL; how do I do that inside webtest? I didn't see
anything particulary obvious (and my groovy skills are very clearly
subpar, at the moment). I was hoping to see something in the filters,
but they seem a bit coarser-grained than that.
Amy!
On Thu, 23 Apr 2009 12:43:32 -0400, Robert Koberg wrote:
> Hi Amy!
>
> FWIW, a simple XSL works really well for these types of things. I
> mention XSL as opposed to XQuery because you can relatively easily
> generate the XSL and version 1.0 is in the JVM.
>
> best,
> -Rob
>
>
> On Apr 23, 2009, at 12:19 PM, Amelia A Lewis wrote:
>
>> This might be useful to others.
>>
>> The syntax of the accessor for "getXPathHelper()" is slightly odd:
>> probably because it has two caps initially, they both have to appear
>> (whereas the references to the older threads (see below) show
>> "xPathHelper" which results in a null pointer).
>>
>> If you do much with namespaces (verifying XML), this macro might be of
>> interest:
>>
>> <macrodef name="namespace"
>> description="define namespace for xpath">
>> <attribute name="prefix" />
>> <attribute name="uri" />
>> <sequential>
>> <groovy>
>>
>> step.context.XPathHelper.namespaceContext.addNamespace("@{prefix}",
>> "@{uri}")
>> </groovy>
>> </sequential>
>> </macrodef>
>>
>> You can then use it like this:
>>
>> <webtest>
>> <config ... />
>> <namespace prefix="ex" namespace="http://www.example.com/" />
>> <invoke ... />
>> <verifyXPath xpath="ex:a/ex:b/ex:etc" />
>> </webtest>
>>
>> This is less apt to produce typos (the groovy bit is only specified
>> once, and then the parameters are fed to it as needed).
>>
>> Amy!
>> On Wed, 22 Apr 2009 22:12:02 -0400, Amelia A Lewis wrote:
>>> Heyo.
>>>
>>> I see from WT-253 that the issue around namespaces in XPath
>>> verification has been closed. I cannot figure out how to make it work.
>>>
>>> In a relatively simple XML document with a default namespace
>>> (xmlns="http://www.example.com/" on the root element, "response"), none
>>> of the following work:
>>>
>>> <verifyXpath xpath="/response/getCurrentUser/name" value="name" />
>>>
>>> (error: no node matched)
>>> (this is expected; it shouldn't match)
>>>
>>> <verifyXpath xmlns:ex="http://www.example.com/"
>>> xpath="/response/getCurrentUser/name" value="name" />
>>>
>>> (error: prefix must be declared)
>>>
>>> Similarly if the namespace declaration is promoted to the containing
>>> "webtest" element and beyond.
>>>
>>> This thread:
>>> http://lists.canoo.com/pipermail/webtest/2006q4/007358.html (from 2006)
>>> points at other threads that suggest solving things with a small groovy
>>> script. The pointed-at script is no longer correct (null pointer), but
>>> a little patience leads one to
>>> step.context.getXPathHelper().registerGlobalNamespace("ex",
>>> "http://www.example.com/"), which also yields: prefix must be declared.
>>>
>>> And yet the issue was closed, for 2.5. I can't find any examples of
>>> how to do it "right", though. Anyone have a pointer?
>>>
>>> It would be nice to have <namespace prefix="ex"
>>> uri="http://www.example.com/" /> as child elements of "config", but I
>>> don't see any indication that it might be so straightforward. I might
>>> have to patch it to do that (that way the namespaces would be defined
>>> in a reasonably predictable location, and valid for all the documents
>>> processed within the containing webtest element, presumably), but I
>>> thought that I should ask first, and see if someone can point me at an
>>> existing solution.
>>>
>>> Oh, I'm using the 3.0 distribution, rather than the nightly.
>>>
>>> Amy!
>>> --
>>> Amelia A. Lewis amyzing {at} talsever.org
>>> According to Business Week, in the 1990s the ratio between a chief
>>> executive's salary and the takehome pay of the typical, feckless,
>>> whining grunt on the shopfloor rose from 85:1 to 475:1. (In the UK,
>>> which is seeing a vigorous popular backlash against "fat cat" pay
>>> packets, the ratio is 24:1).
>>> -- The Register
>>> _______________________________________________
>>> WebTest mailing list
>>> [email protected]
>>> http://lists.canoo.com/mailman/listinfo/webtest
>> _______________________________________________
>> WebTest mailing list
>> [email protected]
>> http://lists.canoo.com/mailman/listinfo/webtest
>
> _______________________________________________
> WebTest mailing list
> [email protected]
> http://lists.canoo.com/mailman/listinfo/webtest
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest