[Webtest] Unique Directory for reports not possible?
Paul King
webtest@lists.canoo.com
Sun, 09 Jul 2006 23:37:06 +1000
Try placing the <copy> after the file is created. I had it after the
<copy> in your original ant file. As a minimum it has to be after
the <style> task as that is where the file is created.
Troy McGuire wrote:
> Changing the "resultpath" in the configs of my test scripts moved the
> 'results.xml' to the right spot, but after adding the "copy tofile=..."
> I get:
>
> Warning: Could not find file
> /usr/local/www/lgeadvertising.com/qa/canoo_webtest/webtest-results/2006-07-08_20-05-01/results.html
> to copy. Maybe it still does not exist? I tried upgrading to R_1357,
> but then the build failed for completely different reasons ( *see below
> ), so I downgraded as I don't need additional problems at this point
> (unless I'm chasing down a known bug that's been fixed!). Anyone know
> why this is happening?
>
>
> Thank You,
>
> Troy McGuire
>
> * The message I got after unzipping build.zip for R_1357 was:
> java.lang.NoSuchMethodError:
> com.gargoylesoftware.htmlunit.html.HtmlInput.setValueAttribute(Ljava/lang/String;)Lcom/gargoylesoftware/htmlunit/Page;
>
>
>
> Paul King wrote:
>>
>> Your file worked for me (replacing the actual test steps)
>> as long as I changed the config element to point to your
>> timestamped properties:
>>
>> <config
>> summary="true"
>> saveresponse="true"
>> resultpath="${webtest.resultpath}"
>> resultfile="${webtest.resultfile}" .../>
>>
>> To get an index.html (no need to have results.html in previous copy):
>>
>> <copy tofile="${webtest.resultpath}/index.html"
>> file="${webtest.resultpath}/results.html"/>
>>
>> Cheers, Paul.
>>
>>
>> Troy McGuire wrote:
>>> What I had before, where each test would over-write the previous
>>> report, was the the following directory structure. Note, the
>>> "canoo_webtest" directory is not the one in /usr/local/sbin, it's in
>>> a "qa" folder where each folder holds the scripts for the tool being
>>> used - WebTest in this case):
>>>
>>> /usr/local/www/customer.com/qa/canoo_webtest/
>>> -main buildfile, various webtest scripts, keystores, etc-
>>> webtest-results/
>>> results.html
>>> results.xml
>>> report.css
>>> showHide.js
>>> images/
>>> collapseall.png
>>> expandall.png
>>> less.gif
>>> logo.gif
>>> more.gif
>>> ok.gif
>>> optional.gif
>>> todo.gif
>>>
>>> I remember when I first wrote this script I tried having the
>>> "results.html" save as "index.html" instead, but then no file was
>>> created. I think what I am experiencing now is related somehow.
>>> With my current script, I have the following directory structure:
>>> /usr/local/www/customer.com/qa/canoo_webtest/
>>> -main buildfile, various webtest scripts, keystores, etc-
>>> webtest-results/
>>> results.xml
>>> 2006-07-08_15-28-08/
>>> report.css
>>> showHide.js
>>> images/
>>> collapseall.png
>>> expandall.png
>>> less.gif
>>> logo.gif
>>> more.gif
>>> ok.gif
>>> optional.gif
>>> todo.gif
>>>
>>> After Mittie's and Denis' comments/suggestions, I changed my script a
>>> bit, but nothing has changed (in terms of having a 'results.html'
>>> show up anywhere, and I'm not sure what's going on with the
>>> 'results.xml' file being where it is). I did look in
>>> WebTestReport.xsl, but didn't see anything obvious, not that I'm guru
>>> enough to completely understand it; but it appears okay. Here is my
>>> current script, not sure if my changes made it better, worse, or are
>>> benign. Any further assistance will be greatly appreciated.
>>>
>>> <?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">
>>> <tstamp>
>>> <format property="timestamp" pattern="yyyy-MM-dd_HH-mm-ss" />
>>> </tstamp>
>>> <property name="webtest.home"
>>> location="/usr/local/sbin/canoo_webtest" />
>>> <property name="test.dir"
>>> location="/usr/local/www/customeradvertising.com/qa/canoo_webtest" />
>>> <property name="test.file" value="mybuild_02.xml" />
>>> <property name="webtest.resultpath"
>>> value="${test.dir}/webtest-results/${timestamp}"/>
>>> <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="cleanUp" /> -->
>>> <antcall target="test.suite" />
>>> <antcall target="formatResults" />
>>> </target>
>>> <!-- <target name="cleanUp" description="Deletes all generated
>>> files" unless="webtest.skipCleanup">
>>> <delete>
>>> <fileset dir="${webtest.resultpath}" includes="**/*.*ml" />
>>> </delete>
>>> </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>
>>> <property name="resources.dir"
>>> value="${webtest.home}/resources"/>
>>> <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>
>>> <!-- copy 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> <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>
>>>
>>> Thank You,
>>>
>>> Troy
>>> troy at spawn or die dot com
>>>
>>> Denis N. Antonioli wrote:
>>>> Hi Toy
>>>>
>>>> I had this working on my previous project (2 month ago...), so it is
>>>> definitely possible.
>>>>
>>>> If I understand you correctly, webtest reacts correctly and writes
>>>> in a timestamp-named directory its result.xml and all the server
>>>> responses, but the result.html is missing?
>>>> If so, the only place the path may be hardcoded is in
>>>> WebTestReport.xsl...
>>>>
>>>> Happy testing
>>>> dna
>>>>
>>>> On 7 juil. 06, at 02:01, Troy McGuire wrote:
>>>>
>>>>> So I finally figured out how to make a suite of tests run and have
>>>>> everything reported in HTML. Today I decided to make WebTest
>>>>> create a directory for the results based on the timestamp from when
>>>>> the test was run. It does create a directory named after the
>>>>> timestamp with everything except the "results.html" file. I even
>>>>> added <include name="results.html"/> to a portion of my script, but
>>>>> same results. Does anyone know what's going on here? It seems
>>>>> like something in the background is hard-coded. Do I have to have
>>>>> my previous report over-written by the current one every time I run
>>>>> a test? Below is my script.
>>>>>
>>>>> Thank You,
>>>>>
>>>>> Troy
>>>>> troy at spawn or die dot com