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

Reply via email to