[Webtest] Unique Directory for reports not possible?

Paul King webtest@lists.canoo.com
Sun, 09 Jul 2006 10:19:51 +1000


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