[Webtest] 'Results.html not found' - still
Marc Guillemot
webtest@lists.canoo.com
Fri, 11 Aug 2006 18:26:52 +0200
Hi Troy,
java.lang.AbstractMethodError looks like a classpath problem or a clash
between 2 versions.
Do you really want to use the PlainTextReporter?
Marc.
Troy McGuire wrote:
> Here is my config
> <config
> host="secure.customerdb.com"
> port="443"
> protocol="https"
> basepath="admin"
> summary="true"
> resultpath="${webtest.resultpath}"
> resultfile="${webtest.resultfile}"
> saveresponse="true"
> showhtmlparseroutput="true">
> <header name="followRedirects" value="true" />
> </config>
>
>
> Does anyone know what the Unix/Linux equivalent to filemon is?
>
> I typed "ant -debug -buildfile mybuild_04.xml" (is that what you meant
> about running ant with -debug?), but, in the middle of the output I got:
>
> ********** START of Ant Debug Output **********
> Finding class com.canoo.webtest.reporting.PlainTextReporter
> Loaded from /usr/local/sbin/canoo_webtest/lib/webtest.jar
> com/canoo/webtest/reporting/PlainTextReporter.class
> Class com.canoo.webtest.reporting.PlainTextReporter loaded from ant
> loader (parentFirst)
> [ant] Exiting
> /usr/local/www/customer.com/qa/canoo_webtest/sa_loginpage_04.xml.
> [antcall] Exiting
> /usr/local/www/customer.com/qa/canoo_webtest/mybuild_04.xml.
>
> BUILD FAILED
> /usr/local/www/customer.com/qa/canoo_webtest/mybuild_04.xml:21: The
> following error occurred while executing this line:
> /usr/local/www/customer.com/qa/canoo_webtest/mybuild_04.xml:61: The
> following error occurred while executing this line:
> /usr/local/www/customer.com/qa/canoo_webtest/sa_loginpage_04.xml:11:
> Canoo Webtest: development.
> Test failed.
> Exception raised: com.canoo.webtest.engine.StepExecutionException:
> Unexpected exception caught: java.lang.AbstractMethodError, Step:
> InvokePage at
> /usr/local/www/customer.com/qa/canoo_webtest/sa_loginpage_04.xml:29:
> with (stepType="invoke", description="Get Login Page", url="index.php",
> method="GET")com.canoo.webtest.engine.StepExecutionException: Unexpected
> exception caught: java.lang.AbstractMethodError, Step: InvokePage at
> /usr/local/www/customer.com/qa/canoo_webtest/sa_loginpage_04.xml:29:
> with (stepType="invoke", description="Get Login Page", url="index.php",
> method="GET")
> at com.canoo.webtest.steps.Step.handleUnexpectedException(Step.java:607)
> at
> com.canoo.webtest.steps.AbstractBrowserAction.handleUnexpectedException(AbstractBrowserAction.java:117)
>
> at
> com.canoo.webtest.steps.request.TargetHelper.protectedGoto(TargetHelper.java:109)
>
> at
> com.canoo.webtest.steps.request.AbstractTargetAction.gotoTarget(AbstractTargetAction.java:111)
>
> at
> com.canoo.webtest.steps.request.AbstractTargetAction.doExecute(AbstractTargetAction.java:79)
>
> at com.canoo.webtest.steps.Step.execute(Step.java:136)
> at org.apache.tools.ant.Task.perform(ant-1.6.5.jar.so)
> at com.canoo.webtest.engine.Engine.executeSteps(Engine.java:39)
> at com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:105)
> at org.apache.tools.ant.UnknownElement.execute(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Task.perform(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Target.execute(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Target.performTasks(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Project.executeSortedTargets(ant-1.6.5.jar.so)
> at
> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(ant-1.6.5.jar.so)
>
> at org.apache.tools.ant.Project.executeTargets(ant-1.6.5.jar.so)
> at org.apache.tools.ant.taskdefs.Ant.execute(ant-1.6.5.jar.so)
> at org.apache.tools.ant.UnknownElement.execute(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Task.perform(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Target.execute(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Target.performTasks(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Project.executeSortedTargets(ant-1.6.5.jar.so)
> at
> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(ant-1.6.5.jar.so)
>
> at org.apache.tools.ant.Project.executeTargets(ant-1.6.5.jar.so)
> at org.apache.tools.ant.taskdefs.Ant.execute(ant-1.6.5.jar.so)
> at org.apache.tools.ant.taskdefs.CallTarget.execute(ant-1.6.5.jar.so)
> at org.apache.tools.ant.UnknownElement.execute(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Task.perform(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Target.execute(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Target.performTasks(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Project.executeSortedTargets(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Project.executeTarget(ant-1.6.5.jar.so)
> at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(ant-1.6.5.jar.so)
>
> at org.apache.tools.ant.Project.executeTargets(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Main.runBuild(ant-1.6.5.jar.so)
> at org.apache.tools.ant.Main.startAnt(ant-1.6.5.jar.so)
> at org.apache.tools.ant.launch.Launcher.run(ant-launcher-1.6.5.jar.so)
> at org.apache.tools.ant.launch.Launcher.main(ant-launcher-1.6.5.jar.so)
> ********** END of Ant Debug Output **********
>
> Line 11 of sa_loginpage_04.xml is below:
>
> 09 <echo message="Start execution of '${test.file}' in dir
> '${test.dir}'"/>
> 10 <!-- <ant antfile="${test.file}" dir="${test.dir}"/> -->
> 11 <webtest name="sa_loginpage">
> 12 &config;
> 13 <steps>
> 14 <invoke
> 15 description="Get Login Page"
>
>
> Paul King wrote:
>>
>> I can't see anything wrong with what you have. I have a cut down
>> version of your file on my system and it reliably produces the
>> results file.
>>
>> It could possibly be an issue with your config.
>> Where does that point the results file to?
>> Is that file being produced? You could use something
>> like filemon (sysinternals.com) to see whether
>> the file is being written and where to.
>>
>> It could possibly be an 'ant' problem.
>> What happens when you run ant with '-debug'?
>>
>> Paul.
>>
>> Troy McGuire wrote:
>>> I made the changes suggested below and got the same output. Can
>>> anyone tell me all (or nearly all) the reasons why this behavior
>>> would occur? I had this working at one point, but it seems that the
>>> "formatResults" target is precarious enough to break any time
>>> something around it changes. Is there a more robust way of getting
>>> WebTest to output HTML reports? Does it even seem like what I have
>>> should work?
>>>
>>> Thank You,
>>>
>>> -Troy
>>>
>>>
>>> Paul King wrote:
>>>>
>>>> Try removing '<include name="results.html"/>' from the fileset in
>>>> the "copyResults" target and try setting
>>>> 'basedir="${webtest.resultpath}"'
>>>> in the "formatResults" target.
>>>>
>>>> Cheers, Paul.
>>>>
>>>> Troy McGuire wrote:
>>>>> I'm still having difficulty getting my reporting to work for
>>>>> webtest. I've started removing (and dividing) portions of my build
>>>>> file to make it simple to debug, but still get the same error. Can
>>>>> anyone tell me possible reasons why the results.html file isn't
>>>>> being created? Below is my build file and the output from running
>>>>> the build. Also, at the end of the output you can see where I 'ls'
>>>>> the ${webtest.home}/resources
>>>>> (/usr/local/sbin/canoo_webtest/resources/) directory and the
>>>>> ${webtest.resultpath}
>>>>> (/usr/local/www/customer.com/qa/canoo_webtest/webtest-results)
>>>>> directory to display where the files are.
>>>>>
>>>>> Thank You,
>>>>>
>>>>> Troy
>>>>> troy AT spawn OR die dt com
>>>>>
>>>>> ***** MY BUILD FILE *****
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>> <!DOCTYPE project SYSTEM
>>>>> "/usr/local/sbin/canoo_webtest/selftests/config/WebTest.dtd">
>>>>>
>>>>> <project name="All Tests" basedir="." default="testSuite">
>>>>> <property name="webtest.home"
>>>>> location="/usr/local/sbin/canoo_webtest" />
>>>>> <property name="resources.dir" value="${webtest.home}/resources"/>
>>>>> <property name="test.dir"
>>>>> location="/usr/local/www/customer.com/qa/canoo_webtest" />
>>>>> <property name="test.file" value="mybuild_03.xml" />
>>>>> <property name="webtest.resultpath"
>>>>> value="${test.dir}/webtest-results"/>
>>>>> <property name="webtest.resultfile" value="results.xml"/>
>>>>> <property name="webtest.resultfile.html"
>>>>> value="${webtest.resultpath}/results.html"/>
>>>>> <import file="${webtest.home}/lib/taskdef.xml" />
>>>>> <target name="init" description="Checks that needed properties
>>>>> are defined">
>>>>> <fail message="test.file should be set" unless="test.file" />
>>>>> <fail message="test.dir should be set" unless="test.dir" />
>>>>> </target>
>>>>> <target name="testSuite" depends="init" description="Runs the
>>>>> Test Suite">
>>>>> <mkdir dir="${webtest.resultpath}" />
>>>>> <antcall target="test.suite" />
>>>>> <antcall target="formatResults" />
>>>>> <antcall target="copyResults" />
>>>>> <antcall target="makeIndexHTML" />
>>>>> <!-- <antcall target="" /> -->
>>>>> </target>
>>>>>
>>>>> <target name="formatResults" description="Formats the XML result
>>>>> file using XSL">
>>>>> <tstamp>
>>>>> <format property="report.time" pattern="dd.MM.yyyy
>>>>> HH:mm" locale="us" />
>>>>> </tstamp>
>>>>> <style
>>>>> basedir="${resources.dir}"
>>>>> destdir="${webtest.resultpath}"
>>>>> includes="${webtest.resultpath}/${webtest.resultfile}"
>>>>> force="true"
>>>>> extension=".html"
>>>>> style="${resources.dir}/WebTestReport.xsl">
>>>>> <param name="reporttime" expression="${report.time}"/>
>>>>> <param name="title" expression="${ant.project.name}"/>
>>>>> </style>
>>>>> </target>
>>>>>
>>>>> <target name="copyResults" description="Copies the resources
>>>>> needed by the html page to the same dir. The report must be ok too
>>>>> when opened from filesystem (without webserver)">
>>>>> <copy todir="${webtest.resultpath}">
>>>>> <fileset dir="${resources.dir}">
>>>>> <include name="report.css"/>
>>>>> <include name="showHide.js"/>
>>>>> <include name="images/*.*"/>
>>>>> <include name="results.html"/>
>>>>> </fileset>
>>>>> </copy>
>>>>> </target>
>>>>> <target name="makeIndexHTML" description="Copies the
>>>>> results.xml or results.html to index.html or something like that" >
>>>>> <copy tofile="${webtest.resultpath}/index.html"
>>>>> file="${webtest.resultpath}/results.html"/>
>>>>> <echo message="Webtest result overview available in
>>>>> ${webtest.resultfile.html}"/>
>>>>> </target>
>>>>>
>>>>> <target name="test.suite">
>>>>> <ant antfile="sa_loginpage_02.xml"/>
>>>>> <ant antfile="sa_login_02.xml"/>
>>>>> </target>
>>>>> </project>
>>>>> ***** END OF BUILD FILE *****
>>>>> ***** OUTPUT *****
>>>>> [troy@localhost canoo_webtest]$ webtest mybuild_03.xml
>>>>> Will use java
>>>>> Buildfile: mybuild_03.xml
>>>>> Trying to override old definition of task sleep
>>>>>
>>>>> init:
>>>>>
>>>>> testSuite:
>>>>>
>>>>> test.suite:
>>>>>
>>>>> loginPageTest:
>>>>> [echo] Start execution of 'mybuild_03.xml' in dir
>>>>> '/usr/local/www/customer.com/qa/canoo_webtest'
>>>>> [webtest] INFO (com.canoo.webtest.ant.WebtestTask) - Canoo
>>>>> Webtest: R_1217.
>>>>> [config] INFO (com.canoo.webtest.engine.Configuration) - Surfing
>>>>> with browser Mozilla/4.0 (compatible; MSIE 6.0b; Windows 98)
>>>>> [config] INFO (com.canoo.webtest.engine.Configuration) -
>>>>> Configuring 1 HTTP header field(s)
>>>>> [config] INFO (com.canoo.webtest.engine.Configuration) -
>>>>> Configured header "followRedirects": true
>>>>> [invoke] INFO (com.canoo.webtest.steps.Step) - >>>> Start Step:
>>>>> invoke "Get Login Page" (1/2)
>>>>> [invoke] INFO
>>>>> (com.canoo.webtest.steps.request.AbstractTargetAction) - ->
>>>>> gotoTarget by URL: index.php
>>>>> [invoke] INFO (com.canoo.webtest.steps.request.TargetHelper) -
>>>>> getting response for url:
>>>>> https://secure.customerdb.com/admin/index.php
>>>>> [invoke] INFO (org.apache.commons.httpclient.HttpMethodDirector)
>>>>> - Redirect requested but followRedirects is disabled
>>>>> [invoke] INFO (org.apache.commons.httpclient.HttpMethodDirector)
>>>>> - Redirect requested but followRedirects is disabled
>>>>> [invoke] INFO (org.apache.commons.httpclient.HttpMethodDirector)
>>>>> - Redirect requested but followRedirects is disabled
>>>>> [invoke] INFO (com.canoo.webtest.engine.Context) - Content of
>>>>> window changed to https://secure.customerdb.com/admin/index.php
>>>>> [invoke] INFO (com.canoo.webtest.engine.Context) - Content
>>>>> loaded in newly opened window, its content will become current
>>>>> response
>>>>> [invoke] INFO (com.canoo.webtest.engine.Context) - Current form
>>>>> set to none
>>>>> [invoke] INFO (com.canoo.webtest.engine.Context) - Current
>>>>> response now: https://secure.customerdb.com/admin/index.php
>>>>> [verifyTitle] INFO (com.canoo.webtest.steps.Step) - >>>> Start
>>>>> Step: verifyTitle "Verify Login Page Title" (2/2)
>>>>> INFO (com.canoo.webtest.ant.WebtestTask) - Test report successfully
>>>>> created.
>>>>>
>>>>> loginTest:
>>>>> [echo] Start execution of 'mybuild_03.xml' in dir
>>>>> '/usr/local/www/customer.com/qa/canoo_webtest'
>>>>> [webtest] INFO (com.canoo.webtest.ant.WebtestTask) - Canoo
>>>>> Webtest: R_1217.
>>>>> [config] INFO (com.canoo.webtest.engine.Configuration) - Surfing
>>>>> with browser Mozilla/4.0 (compatible; MSIE 6.0b; Windows 98)
>>>>> [config] INFO (com.canoo.webtest.engine.Configuration) -
>>>>> Configuring 1 HTTP header field(s)
>>>>> [config] INFO (com.canoo.webtest.engine.Configuration) -
>>>>> Configured header "followRedirects": true
>>>>> [invoke] INFO (com.canoo.webtest.steps.Step) - >>>> Start Step:
>>>>> invoke "Login" (1/7)
>>>>> [invoke] INFO
>>>>> (com.canoo.webtest.steps.request.AbstractTargetAction) - ->
>>>>> gotoTarget by URL: index.php
>>>>> [invoke] INFO (com.canoo.webtest.steps.request.TargetHelper) -
>>>>> getting response for url:
>>>>> https://secure.customerdb.com/admin/index.php
>>>>> [invoke] INFO (org.apache.commons.httpclient.HttpMethodDirector)
>>>>> - Redirect requested but followRedirects is disabled
>>>>> [invoke] INFO (org.apache.commons.httpclient.HttpMethodDirector)
>>>>> - Redirect requested but followRedirects is disabled
>>>>> [invoke] INFO (org.apache.commons.httpclient.HttpMethodDirector)
>>>>> - Redirect requested but followRedirects is disabled
>>>>> [invoke] INFO (com.canoo.webtest.engine.Context) - Content of
>>>>> window changed to https://secure.customerdb.com/admin/index.php
>>>>> [invoke] INFO (com.canoo.webtest.engine.Context) - Content
>>>>> loaded in newly opened window, its content will become current
>>>>> response
>>>>> [invoke] INFO (com.canoo.webtest.engine.Context) - Current form
>>>>> set to none
>>>>> [invoke] INFO (com.canoo.webtest.engine.Context) - Current
>>>>> response now: https://secure.customerdb.com/admin/index.php
>>>>> [verifyTitle] INFO (com.canoo.webtest.steps.Step) - >>>> Start
>>>>> Step: verifyTitle "Verify Login Page Title" (2/7)
>>>>> [selectForm] INFO (com.canoo.webtest.steps.Step) - >>>> Start
>>>>> Step: selectForm "Selects the Login Form" (3/7)
>>>>> [selectForm] INFO (com.canoo.webtest.engine.Context) - Current
>>>>> form set to (action=/admin/index.php)
>>>>> [setInputField] INFO (com.canoo.webtest.steps.Step) - >>>> Start
>>>>> Step: setInputField "Selects and sets the Username Field" (4/7)
>>>>> [setInputField] INFO
>>>>> (com.canoo.webtest.steps.form.AbstractSetFieldStep) - Found 1
>>>>> suitable fields, considering only the first one
>>>>> [setInputField] INFO (com.canoo.webtest.steps.Step) - >>>> Start
>>>>> Step: setInputField "Selects and sets the Password Field" (5/7)
>>>>> [setInputField] INFO
>>>>> (com.canoo.webtest.steps.form.AbstractSetFieldStep) - Found 1
>>>>> suitable fields, considering only the first one
>>>>> [clickButton] INFO (com.canoo.webtest.steps.Step) - >>>> Start
>>>>> Step: clickButton "Clicks the Login button" (6/7)
>>>>> [clickButton] INFO
>>>>> (com.canoo.webtest.steps.request.AbstractTargetAction) - ->
>>>>> gotoTarget by clickButton with name: submitLogin
>>>>> [clickButton] INFO (com.canoo.webtest.steps.request.ClickButton) -
>>>>> -> findTarget(by input): name=submitLogin value=
>>>>> [clickButton] INFO
>>>>> (org.apache.commons.httpclient.HttpMethodDirector) - Redirect
>>>>> requested but followRedirects is disabled
>>>>> [clickButton] INFO (com.canoo.webtest.engine.Context) - Content of
>>>>> window changed to
>>>>> https://secure.customerdb.com/admin/index.php?submitLogin_x=0&submitLogin_y=0&
>>>>>
>>>>> [clickButton] INFO (com.canoo.webtest.engine.Context) - Content of
>>>>> current window changed, it will become current response
>>>>> [clickButton] INFO (com.canoo.webtest.engine.Context) - Current
>>>>> form set to none
>>>>> [clickButton] INFO (com.canoo.webtest.engine.Context) - Current
>>>>> response now:
>>>>> https://secure.customerdb.com/admin/index.php?submitLogin_x=0&submitLogin_y=0&
>>>>>
>>>>> [verifyText] INFO (com.canoo.webtest.steps.Step) - >>>> Start
>>>>> Step: verifyText "Verifies unique text after login" (7/7)
>>>>> INFO (com.canoo.webtest.ant.WebtestTask) - Test report successfully
>>>>> created.
>>>>>
>>>>> formatResults:
>>>>> [style] Transforming into
>>>>> /usr/local/www/customer.com/qa/canoo_webtest/webtest-results
>>>>>
>>>>> copyResults:
>>>>>
>>>>> makeIndexHTML:
>>>>>
>>>>> BUILD FAILED
>>>>> /usr/local/www/customer.com/qa/canoo_webtest/mybuild_03.xml:24: The
>>>>> following error occurred while executing this line:
>>>>> /usr/local/www/customer.com/qa/canoo_webtest/mybuild_03.xml:56:
>>>>> Warning: Could not find file
>>>>> /usr/local/www/customer.com/qa/canoo_webtest/webtest-results/results.html
>>>>> to copy.
>>>>>
>>>>> Total time: 23 seconds
>>>>> [troy@localhost canoo_webtest]$ cd
>>>>> /usr/local/sbin/canoo_webtest/resources/
>>>>> [troy@localhost resources]$ ls
>>>>> images responseBrowserCommands.html
>>>>> responseBrowser.js showHide.js WebTestReport.xsl
>>>>> report.css responseBrowser.html
>>>>> responseBrowserPreviews.html sorttable.js webtestsRunner.xml
>>>>> [troy@localhost resources]$ cd
>>>>> /usr/local/www/customer.com/qa/canoo_webtest/webtest-results
>>>>> [troy@localhost webtest-results]$ ls
>>>>> images report.css results.xml showHide.js
>>>>> [troy@localhost webtest-results]$ ***** END OF OUTPUT *****
>> _______________________________________________
>> WebTest mailing list
>> WebTest@lists.canoo.com
>> http://lists.canoo.com/mailman/listinfo/webtest
>>
>> .
>>
>
> _______________________________________________
> WebTest mailing list
> WebTest@lists.canoo.com
> http://lists.canoo.com/mailman/listinfo/webtest
>