Hi Hari, can you open an issue with a patch?
I don't know if we will stay by Xalan: the decreased performance since 1.14 has to be investigated. Cheers, Marc. -- Blog: http://mguillem.wordpress.com Harihara Vinayakaram wrote: > Hi Marc > Thanks for the pointers . Both of them worked > a) I was able to modiy the XPathHelper and then register the > EXSTL name spaces . One suggestion : Now that u are using Xalan for the > XSLT can you by default register all the namespaces that are part of the > EXSLT (dyn, math etc) > > b) The suggesting about using the groovy test also worked > > Regards > Hari > > On Fri, May 23, 2008 at 1:55 PM, Marc Guillemot <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > Hi, > > it is possible to define and register custom XPath functions (look in > WebTest sources at the CleanTextFunction for instance) but I would be > carefully here as it is an area that has changed due to migration to > HtmlUnit-2.1 and that may change again. > > In your case, what about just > <groovy> > def links = > step.context.currentResponse.getByXPath("//[EMAIL > PROTECTED]'mybreadcrumb']/div > > /div/div[1]/a") > > def link = links.size() > 1 ? links[-2] : links[-1] > link.click() > </groovy> > > Cheers, > Marc. > -- > Blog: http://mguillem.wordpress.com > > > Harihara Vinayakaram wrote: > > Hi > > Here is what I am trying to do . My tests are in groovy not in > xml . > > > > I am trying to choose a link to click based on the xpath .(i.e ) > > choose the last but one link . > > > > The xpath expression I used is //[EMAIL PROTECTED]'mybreadcrumb']/div > > /div/div[1]/a[max(1,last()-1)] > > > > But from the stacktrace I find that webtest is unable to find the > > function max > > > > What should I do to get Webtest find the function max > > > > Regards > > Hari > > > > > > On Wed, May 21, 2008 at 1:50 PM, Marc Guillemot > <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote: > > > > Not sure to follow. EXSLT surely needs to be registered in > some way. > > > > Alternatively you can write your own extension or, surely > easier, use a > > groovy step or write a custom step. > > > > Cheers, > > Marc. > > -- > > Blog: http://mguillem.wordpress.com > > > > > > Harihara Vinayakaram wrote: > > > I looked at the xalan implementation and figured out that > the max > > > function is not bundled and need a EXSLT support . The name > space > > > mentioned in dyn:max > > > > > > I looked around for a EXSLT.jar which I can put in the > > webtest.home /lib > > > . But there does not seem to be any .jar file . There seems > to be > > > support for xsl , but no jars . > > > > > > Let me know how to proceed > > > > > > Regards > > > Hari > > > > > > On Sun, May 18, 2008 at 3:49 PM, Harihara Vinayakaram > > <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> > > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>> wrote: > > > > > > The error is > > > //[EMAIL > PROTECTED]'mybreadcrumb']/div/div/div[1]/a[max(1,last()-1)] > > > > > > and the stack trace says: > > > > > > javax.xml.xpath.XPathExpressionException: Could not find > > function: max > > > > > > > > > > > > at > > > > com.canoo.webtest.engine.xpath.XPathHelper.handleException(XPathHelper.java:265) > > > at > > > > com.canoo.webtest.engine.xpath.XPathHelper.getByXPath(XPathHelper.java:307) > > > at > > > > com.canoo.webtest.engine.xpath.XPathHelper.selectFirst(XPathHelper.java:278) > > > > > > > > > > > > at > > > > com.canoo.webtest.boundary.HtmlUnitBoundary.trySelectSingleNodeByXPath(HtmlUnitBoundary.java:63) > > > at > > > > com.canoo.webtest.steps.request.AbstractIdOrLabelTarget.findClickableElementByXPath(AbstractIdOrLabelTarget.java:118) > > > > > > > > > > > > at > > > > com.canoo.webtest.steps.request.AbstractIdOrLabelTarget.findClickableElement(AbstractIdOrLabelTarget.java:82) > > > > > > > > > > > > Regards > > > Hari > > > > > > On Sun, May 18, 2008 at 3:44 PM, Harihara Vinayakaram > > > <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>> wrote: > > > > > > Hi > > > That was a typo in what I typed . The error in the > > stacktrace > > > says max: function not found > > > > > > Regards > > > Hari > > > > > > > > > On Sun, May 18, 2008 at 3:23 PM, Dierk König > > > <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>> wrote: > > > > > > wrong parens nesting > > > > > > | I tried //abc[max((1,last()-1))] > > > ^ > > > max takes two args but you give it only one > > > > > > cheers > > > Dierk > > > > > > | > > > | But I am getting a max class not found exception > > when I run > > > | with webtest. . I guess this means that xalan's > > exslt is not > > > | bundled in the library. I tried copying saxon.jar > > which has a > > > | minimax function into .groovy/lib but that > does not work > > > | > > > | Any ideas > > > | > > > | > > > | On Fri, May 16, 2008 at 10:07 PM, Dierk König > > > | <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>> > > > wrote: > > > | > > > | > > > | how about > > > | //abc[max(1,last()-1)] > > > | ? > > > | > > > | BTW: abc[x] is short for abc[position()=x], > > which means > > > | it is _not_ the > > > | xth abc in the document but an abc that > is the xth > > > | child of whatever > > > | parent. > > > | > > > | cheers > > > | Dierk > > > | > > > | > > > | | -----Original Message----- > > > | | From: [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> > > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>>> > > > | > > > | | [mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> > > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>>>] On Behalf Of > > > | George Policello > > > | | Sent: Freitag, 16. Mai 2008 17:54 > > > | | To: [email protected] > <mailto:[email protected]> > > <mailto:[email protected] <mailto:[email protected]>> > > > <mailto:[email protected] > <mailto:[email protected]> > > <mailto:[email protected] > <mailto:[email protected]>>>; Harihara Vinayakaram > > > | | Subject: RE: [Webtest] Re: XPath > > implementation in > > > WebTest > > > | | > > > | | I do not have an XPath manual in front > of me at > > > the moment > > > | | but wonder if this would work. > > > | | > > > | | > > > | | > > > | | //abc[last()-1] | //abc[last()] > > > | | > > > | | > > > | | > > > | | It would in some scripting languages > and some > > > | compiled languages. > > > | | > > > | | > > > | | > > > | | Also, a conditional could probably work > > using the > > > "nilled( > > > | //abc[last() -1] )" function in XPath. > > > | | > > > | | > > > | | > > > | | George > > > | | > > > | | ________________________________ > > > | | > > > | | From: [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> > > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>>> > > > | | [mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> > > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>>>] On Behalf Of Harihara > > > | | Vinayakaram > > > | | Sent: Friday, May 16, 2008 8:40 AM > > > | | To: [email protected] > <mailto:[email protected]> > > <mailto:[email protected] <mailto:[email protected]>> > > > <mailto:[email protected] > <mailto:[email protected]> > > <mailto:[email protected] <mailto:[email protected]>>> > > > | | Subject: [Webtest] Re: XPath > implementation > > in WebTest > > > | | > > > | | > > > | | > > > | | I am sorry but the xpath expression works > > the same > > > way in > > > | | Saxon as it does in webtest . > > > | | So maybe I am looking for an xpath > > expression that > > > gets the > > > | | only node even if the expression is > last() -1 > > > | | > > > | | Regards > > > | | Hari > > > | | > > > | | > > > | | > > > | | On Fri, May 16, 2008 at 8:49 PM, Harihara > > Vinayakaram > > > | | <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>> wrote: > > > | | > > > | | Hi > > > | | I am not sure if this is the right place > > to ask this > > > | | question . But anyway > > > | | > > > | | My understanding is that the xpath > exression > > > //abc[last()-1] > > > | | will return the last but one element > named abc . > > > | | > > > | | It works most of the times except when > there > > is only > > > | one element . > > > | | > > > | | In that case WebTest returns element > not found > > > while others > > > | | like saxon for example returns the last > > element . > > > | | > > > | | Is this a bug ? or is my understanding > wrong > > > | | > > > | | Regards > > > | | Hari > > > | | > > > | | > > > | | > > > | | > > > | > > > | > _______________________________________________ > > > | WebTest mailing list > > > | [email protected] > <mailto:[email protected]> > > <mailto:[email protected] > <mailto:[email protected]>> <mailto:[email protected] > <mailto:[email protected]> > > <mailto:[email protected] <mailto:[email protected]>>> > > > | > http://lists.canoo.com/mailman/listinfo/webtest > > > | > > > | > > > | > > > | > > > > > > > > > > > > > > > > _______________________________________________ > > WebTest mailing list > > [email protected] <mailto:[email protected]> > <mailto:[email protected] <mailto:[email protected]>> > > http://lists.canoo.com/mailman/listinfo/webtest > > > > > > > _______________________________________________ > WebTest mailing list > [email protected] <mailto:[email protected]> > http://lists.canoo.com/mailman/listinfo/webtest > > _______________________________________________ WebTest mailing list [email protected] http://lists.canoo.com/mailman/listinfo/webtest

