Hi folks,
  My application has a sorting feature where it sorts a result set by
product name alphabetically. I was looking at REPEAT and XPATH functions
to test this feature. However, when it comes to comparing two string, I
am having problems. I was looking at XPATH function list at:

http://www.w3schools.com/xpath/xpath_functions.asp#string

And noticed there is a function called 'compare'. Here is a snipple of
my test script:

=====================================================================
<storeXPath description="Get first product"
 xpath="substring-before(//[EMAIL PROTECTED]'searchDetails'],' - ')"
 property="previousProduct"
/>
<repeat count="15" startCount="2">
 <storeXPath description="Capture current product name"
  xpath="substring-before(//[EMAIL PROTECTED]'searchNumber' and
.='#{count}.']/../../td/[EMAIL PROTECTED]'searchDetails'],' - ')"
  property="currentProduct"
 />
 <verifyXPath description="Compare previous against current product"
  xpath="compare(#{previousProduct},#{currentProduct}) &lt; 1"
 />
 <storeProperty description="Save current product in previous product
for next run"
  name="previousProduct"
  value="#{currentProduct}"
 />
</repeat>
========================================================================
=======

However, when I tried using it I got the following error:

========================================================================
=======
Message
Unexpected exception caught: org.jaxen.UnresolvableException: No Such
Function compare
Stacktrace
com.canoo.webtest.engine.StepExecutionException: Unexpected exception
caught: org.jaxen.UnresolvableException: No Such Function compare, Step:
VerifyXPath at
C:\eclipse-workspace\Search\user_test\usecases\Search\SimpleSearch4.xml:
155:  with (description="Compare previous again current product",
taskName="verifyXPath", xpath="compare(VERA,VERA)")
        at
com.canoo.webtest.steps.Step.handleUnexpectedException(Step.java:457)
        at com.canoo.webtest.steps.Step.execute(Step.java:133)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at
com.canoo.webtest.steps.StepUtil.performStanza(StepUtil.java:34)
        at
com.canoo.webtest.steps.AbstractStepContainer.executeContainedStep(Abstr
actStepContainer.java:150)
        at
com.canoo.webtest.steps.control.RepeatStep.executeContainedSteps(RepeatS
tep.java:167)
        at
com.canoo.webtest.steps.control.RepeatStep.doExecute(RepeatStep.java:150
)
        at com.canoo.webtest.steps.Step.execute(Step.java:130)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at
com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.jav
a:58)
        at
com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:3
9)
        at com.canoo.webtest.steps.Step.execute(Step.java:130)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at
com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:152)
        at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at org.apache.tools.ant.Target.execute(Target.java:341)
        at org.apache.tools.ant.Target.performTasks(Target.java:369)
        at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
        at
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleChe
ckExecutor.java:37)
        at
org.apache.tools.ant.Project.executeTargets(Project.java:1068)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382)
        at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at org.apache.tools.ant.Target.execute(Target.java:341)
        at org.apache.tools.ant.Target.performTasks(Target.java:369)
        at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
        at
org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleChe
ckExecutor.java:37)
        at
org.apache.tools.ant.Project.executeTargets(Project.java:1068)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382)
        at
org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:107)
        at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at org.apache.tools.ant.Target.execute(Target.java:341)
        at org.apache.tools.ant.Target.performTasks(Target.java:369)
        at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
        at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecut
or.java:40)
        at
org.apache.tools.ant.Project.executeTargets(Project.java:1068)
        at org.apache.tools.ant.Main.runBuild(Main.java:668)
        at org.apache.tools.ant.Main.startAnt(Main.java:187)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
Caused by: org.jaxen.UnresolvableException: No Such Function compare
        at
org.jaxen.SimpleFunctionContext.getFunction(SimpleFunctionContext.java:1
27)
        at org.jaxen.ContextSupport.getFunction(ContextSupport.java:244)
        at org.jaxen.Context.getFunction(Context.java:198)
        at
org.jaxen.expr.DefaultFunctionCallExpr.evaluate(DefaultFunctionCallExpr.
java:172)
        at
org.jaxen.expr.DefaultXPathExpr.asList(DefaultXPathExpr.java:102)
        at org.jaxen.BaseXPath.selectNodesForContext(BaseXPath.java:680)
        at org.jaxen.BaseXPath.selectNodes(BaseXPath.java:219)
        at org.jaxen.BaseXPath.selectSingleNode(BaseXPath.java:240)
        at
com.canoo.webtest.steps.verify.VerifyXPath.verifyXPath(VerifyXPath.java:
91)
        at
com.canoo.webtest.steps.verify.VerifyXPath.doExecute(VerifyXPath.java:73
)
        at com.canoo.webtest.steps.Step.execute(Step.java:130)
        ... 41 more
=============================================

Is there something I am doing wrong, or the function 'compare' is not
supported?

Thanks,
Koorosh
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest

Reply via email to