Hi Marc, Yup, I've plugged both versions of my xpath into XPE and both return the expected node successfully...
Cheers, Colin. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Marc Guillemot Sent: 02 December 2005 14:41 To: [email protected] Subject: Re: [Webtest] XPath support... Hi Colin, I use steps like <click xpath="//tr[#{count}+1]//a" .../> in my webtests therefore I guess that your xpath is syntactically correct. Have you tried to test it on the page code in XPE or in an other xpath tool? Marc. Colin O'Brien wrote: > Hi Marc et al, > > Can you confirm if either of the following xpath syntax is supported in > webtest... > > xpath="//[EMAIL PROTECTED]'add_w1_sel']/option[n + 1]" > or > xpath="//[EMAIL PROTECTED]'add_w1_sel']/option[sum(n + 1)]" > > where 'n' is an integer > > What I'm trying to achieve is count the number of options in a dropdown > list, select each option in turn and click an associated 'Add' button. > > XPath Explorer handles both without a problem > > Webtest Steps: > <steps> > &Login; > &JS_on; > &LogToHome; > <storeXPath > description="Count the number of portlet options" > xpath="count(//[EMAIL PROTECTED]'add_w1_sel']/option)" > property="portletCount" > /> > <repeat description="Add all avaialble portlets" > count="#{portletCount}"> > <storeXPath > description="Store portlet name" > xpath="//[EMAIL PROTECTED]'add_w1_sel']/option[#{count} > + 1]" > property="portletName" > /> > <setSelectField > description="Select Portlet:#{portletName} from > dropdown list" > name="add_w1_sel" > optionIndex="#{count}" > /> > <clickButton > description="Click add to insert > Portlet:#{portletName} to dashboard" > label="Add" > /> > </repeat> > </steps > > HTML: > <select name="add_w1_sel" class="layout-add-select-style"> > <option value=""></option> > <option value="74">Breadcrumb</option> > <option value="11">Directory</option> > <option value="20">Document Library</option> > <option value="31">Image Gallery</option> > <option value="15">Journal</option> > <option value="63">Journal Articles</option> > <option value="57">Journal Content</option> > <option value="2">My Account</option> > <option value="72">Navigation</option> > <option value="76">Portlet Aggregator</option> > <option value="alarms_WAR_ro_portlets">RO Alarms</option> > <option value="datasource_viewer_WAR_ro_portlets">RO Data Source > Summary</option> > <option value="fileaudit_viewer_WAR_ro_portlets">RO File Audit > Viewer</option> > <option value="kpilist_WAR_ro_portlets">RO KPI Portlet</option> > <option value="volumeprofilechart_WAR_ro_portlets">RO Profile Chart</option> > <option value="reconchart_WAR_ro_portlets">RO Reconciliation Chart</option> > <option value="revenuestreamchart_WAR_ro_portlets">RO Revenuestream > Chart</option> > <option value="status_WAR_ro_portlets">RO System Status</option> > <option value="66">Web Proxy</option> > </select> > > Webtest reports the following errors: > ******************** > [testSpec] INFO (com.canoo.webtest.steps.Step) - Message was: No match for > xpath expression <//[EMAIL PROTECTED]'add_w1_sel']/option[0 + 1]> > ******************** > ******************** > [testSpec] INFO (com.canoo.webtest.steps.Step) - Exception thrown from > this cl > ass: org.jaxen.FunctionCallException > [testSpec] INFO (com.canoo.webtest.steps.Step) - Message was: The argument > to > the sum function must be a node-set > [testSpec] ERROR (com.canoo.webtest.steps.Step) - Cannot handle unexpected > exce > ption in step StoreXPath at D:\canoo\UseCases\ROCDR_TC1721_v4.0.xml:41: > with (p > roperty="portletName", description="Store portlet name", > xpath="//[EMAIL PROTECTED]' > add_w1_sel']/option[sum(0 + 1)]", stepType="storeXPath") > [testSpec] org.jaxen.FunctionCallException: The argument to the sum > function mu > st be a node-set > [testSpec] at > org.jaxen.FunctionCallException.fillInStackTrace(FunctionCall > Exception.java:124) > [testSpec] at java.lang.Throwable.<init>(Throwable.java:195) > [testSpec] at java.lang.Exception.<init>(Exception.java:41) > [testSpec] at > org.jaxen.saxpath.SAXPathException.<init>(SAXPathException.ja > va:83) > [testSpec] at org.jaxen.JaxenException.<init>(JaxenException.java:82) > [testSpec] at > org.jaxen.FunctionCallException.<init>(FunctionCallException. > java:82) > [testSpec] at > org.jaxen.function.SumFunction.evaluate(SumFunction.java:114) > > [testSpec] at org.jaxen.function.SumFunction.call(SumFunction.java:87) > [testSpec] at > org.jaxen.expr.DefaultFunctionCallExpr.evaluate(DefaultFuncti > onCallExpr.java:182) > [testSpec] at > org.jaxen.expr.DefaultPredicate.evaluate(DefaultPredicate.jav > a:105) > [testSpec] at > org.jaxen.expr.PredicateSet.applyPredicate(PredicateSet.java: > 176) > [testSpec] at > org.jaxen.expr.PredicateSet.evaluatePredicates(PredicateSet.j > ava:151) > [testSpec] at > org.jaxen.expr.DefaultNameStep.evaluate(DefaultNameStep.java: > 220) > [testSpec] at > org.jaxen.expr.DefaultLocationPath.evaluate(DefaultLocationPa > th.java:151) > [testSpec] at > org.jaxen.expr.DefaultAbsoluteLocationPath.evaluate(DefaultAb > soluteLocationPath.java:117) > [testSpec] at > org.jaxen.expr.DefaultXPathExpr.asList(DefaultXPathExpr.java: > 108) > [testSpec] at > org.jaxen.BaseXPath.selectNodesForContext(BaseXPath.java:692) > > [testSpec] at > org.jaxen.BaseXPath.selectSingleNodeForContext(BaseXPath.java > :714) > [testSpec] at org.jaxen.BaseXPath.stringValueOf(BaseXPath.java:287) > ******************** > > Kind Regards, > Colin. > > > > _______________________________________________ > 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

