I've been beginning to use canoo webtest on my current project, but have
hit a problem:  I have a page which under some circumstances returns a
204 No content http status code.  But the tests I've built in webtest
fail to run - (its not that they run and fail, but they they won't run
and webtest dies).  How can I run a test that expects a 204 status code,
or is this a bug that I've found?  Details below.
 
Any help would be appreciated :)
 
thanks
Jon
 
 
 
The test code is:
    <webtest name="3 Camera Control">
<config
  host="${target.host}"
  basepath="${hanet.basepath}"
  summary="true"
  saveresponse="true"
  haltonfailure="${halt.on.failure}">
  <option name="ThrowExceptionOnFailingStatusCode" value="false"/>
</config>
      <steps>
        <invoke description="3.1/spec 2.2.5 Valid positive pan"
                url="control.cgi?cameraid=10004&amp;pan=45"
          />
        <storeResponseCode property="status"/>
        <verifyProperty description="expecting 202 No Content"
                        name="status"
                        text="202" />
      </steps>
    </webtest>
 
The server returns this:
HTTP/1.1 204 No Content
Connection: keep-alive
Date: Tue, 19 Jun 2007 16:40:25 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
MicrosoftOfficeWebServer: 5.0_Pub
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Length: 0
 
(and no content)
 
and the error message I get is this:
BUILD FAILED
C:\Home\davies_fj\Workspace\SwordTests\runtests.xml:30: The following
error occurred while executing this line:
C:\Home\davies_fj\Workspace\SwordTests\hanet.xml:137: Canoo Webtest:
R_1560.
Test failed.
Exception raised:
java.lang.NullPointerExceptionjava.lang.NullPointerException
        at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1025)
        at org.apache.commons.io.IOUtils.copy(IOUtils.java:999)
        at org.apache.commons.io.IOUtils.toByteArray(IOUtils.java:218)
        at
com.gargoylesoftware.htmlunit.WebResponseData.getBody(WebResponseData.ja
va:150)
        at
com.gargoylesoftware.htmlunit.WebResponseData.<init>(WebResponseData.jav
a:105)
        at
com.gargoylesoftware.htmlunit.HttpWebConnection.makeWebResponse(HttpWebC
onnection.java:387)
        at
com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConne
ction.java:128)
        at
com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection
(WebClient.java:1424)
        at
com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1
381)
        at
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:332)
        at
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:399)
        at
com.canoo.webtest.steps.request.TargetHelper.getResponse(TargetHelper.ja
va:69)
        at
com.canoo.webtest.steps.request.AbstractTargetAction.getResponse(Abstrac
tTargetAction.java:68)
        at
com.canoo.webtest.steps.request.InvokePage.findTarget(InvokePage.java:13
4)
        at
com.canoo.webtest.steps.request.AbstractTargetAction$1.call(AbstractTarg
etAction.java:108)
        at
com.canoo.webtest.steps.request.TargetHelper.protectedGoto(TargetHelper.
java:88)
        at
com.canoo.webtest.steps.request.AbstractTargetAction.gotoTarget(Abstract
TargetAction.java:106)
        at
com.canoo.webtest.steps.request.AbstractTargetAction.doExecute(AbstractT
argetAction.java:78)
        at com.canoo.webtest.steps.Step.execute(Step.java:104)
        at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at
com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.jav
a:43)
        at
com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:3
1)
        at com.canoo.webtest.steps.Step.execute(Step.java:104)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at
com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:164)
        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)
 
 

Reply via email to