First cut....it's a reworked latka.html in the xml format. The only real difference is that I moved the XML reference to the end and added a 'releases' section.
-- dIon Gillard, Multitask Consulting http://www.multitask.com.au/developers
<?xml version="1.0"?>
<document>
<properties>
<title>Commons</title>
<author email="[EMAIL PROTECTED]">Commons Documentation Team</author>
</properties>
<body>
<section name="What is Latka?">
<p>
<i>Latka</i>
is a functional (end-to-end) testing tool. It is implemented in Java, and uses an XML syntax to define a series of HTTP (or HTTPS) requests and a set of
<i>validations</i>
used to verify that the request was processed correctly.</p>
<i>Although Latka currently supports only HTTP and HTTPS request/response validations, it may be expanded to perform other sorts of functional testing as warranted.</i>
<p>A simple example of a Latka XML test suite is shown in
<a href="http://jakarta.apache.org/commons/latka/TestCommonsWebsite.xml" title="A Sample Latka Test Suite">A Sample Latka Test Suite</a>
. When processed, this example would verify that the Jakarta Commons homepage is present and that all the Commons Components have online documenation.</p>
</section>
<section name="Installation">
<p>Requirements
<ul>
<li>JDK 1.3 or better</li>
<li>
<i>(for optional web application)</i>
Tomcat 4.0 B7 or better - does not work in Tomcat 3.2, untested in other containers</li>
<li>
<i>(for optional SSL support)</i>
<a href="http://java.sun.com/security/index.html">Sun JSSE library</a>
</li>
</ul>
</p>
<p>General installation
<ol>
<li>Download and uncompress the
<a href="http://jakarta.apache.org/builds/jakarta-commons/release/commons-latka">Latka distribution</a>
.</li>
<li>If you wish to perform Latka test over SSL, you need to configure your JVM with the
<a href="http://java.sun.com/security/index.html">Sun JSSE library</a>
.</li>
</ol>
</p>
<p>Optional web application installation
<ol>
<li>Copy the "webapp/latka-webapp.war" file from the distribution to the "webapp" directory of Tomcat.</li>
<li>If you have already configured log4j for Tomcat, you should remove log4j.jar from the /WEB-INF/lib directory of the Latka webapp.</li>
</ol>
</p>
</section>
<section name="Using Latka">
<p>
<h3>Running the sample tests</h3>
</p>
<p>
<i>Command-line interface</i>
</p>
<ol>
<li>Open a command prompt inside the "bin" directory of the distribution.</li>
<li>Run the Latka batch script on one of the sample XML test suites:
<br />
<br />
<b>latka file:../tests/samples/TestCommonsWebsite.xml</b>
</li>
</ol>
<p>
<i>Web application</i>
</p>
<ol>
<li>Go to the index page of the Latka web application.</li>
<li>Select "Run a test from the server"</li>
<li>In the test directory dialog box, enter the directory:
<i><latka distrubution directory>/tests/samples</i>
</li>
<li>Click on one of the tests to execute it.</li>
</ol>
<p>
<h3>Creating your own tests</h3>
</p>
<p>
<i>(More to come...)</i>
Examine the Latka DTD in the conf directory for a list of all available elements. See the samples for typical syntax.</p>
<p>
<h3>Running tests</h3>
</p>
<p>
<i>Command-line interface</i>
</p>
<ol>
<li>Open a command prompt inside the "bin" directory of the distribution.</li>
<li>Run the Latka script with no arguments for information on usage.</li>
</ol>
<p>
<i>Web application</i>
</p>
<ol>
<li>Go to the index page of the Latka web application.</li>
<li>Select "Run a test from the server"</li>
<li>In the test directory dialog box, enter the directory where your tests are located.</li>
<li>Click on one of the tests to execute it.</li>
</ol>
<p>
<h3>Creating your custom validations</h3>
</p>
<p>
<i>(More to come...)</i>
</p>
</section>
<section name="Releases">
<ul>
<li>
<a href="http://jakarta.apache.org/builds/jakarta-commons/release/commons-latka/v1.0/">Version 1.0 Alpha1</a>
</li>
</ul>
</section>
<section name="XML Reference">
<p>
<b>Table of Contents</b>
</p>
<dl>
<dt>
<a href="#latka.ref.byteLength">byteLength</a>
</dt>
<dt>
<a href="#latka.ref.cookie">cookie</a>
</dt>
<dt>
<a href="#latka.ref.credentials">credentials</a>
</dt>
<dt>
<a href="#latka.ref.maxRequestTime">maxRequestTime</a>
</dt>
<dt>
<a href="#latka.ref.param">param</a>
</dt>
<dt>
<a href="#latka.ref.paramName">paramName</a>
</dt>
<dt>
<a href="#latka.ref.paramValue">paramValue</a>
</dt>
<dt>
<a href="#latka.ref.regexp">regexp</a>
</dt>
<dt>
<a href="#latka.ref.request">request</a>
</dt>
<dt>
<a href="#latka.ref.session">session</a>
</dt>
<dt>
<a href="#latka.ref.statusCode">statusCode</a>
</dt>
<dt>
<a href="#latka.ref.suite">suite</a>
</dt>
<dt>
<a href="#latka.ref.validate">validate</a>
</dt>
</dl>
<div>
<h1 class="title">
<a name="latka.ref.byteLength">
</a>
byteLength</h1>
<a name="N2665">
</a>
<h2>Name</h2>
byteLength - validates the length of an HTTP(S) response
<div class="refsynopsisdiv">
<a name="N2670">
</a>
<h2>Synopsis</h2>
<a name="N2671">
</a>
<h3>
<a name="N2671">
</a>
DTD</h3>
<pre class="synopsis">
<!ELEMENT byteLength EMPTY>
<!ATTLIST byteLength min CDATA "0"
max CDATA #IMPLIED
label CDATA #IMPLIED>
</pre>
<div class="refsect2">
<a name="N2677">
</a>
<h3>
<a name="N2677">
</a>
Attributes</h3>
<div class="informaltable" id="N2680">
<a name="N2680">
</a>
<table border="1">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<tt>min</tt>
</td>
<td>NUMBER</td>
<td>
<tt>0</tt>
</td>
<td>Minimum number of bytes required for a valid response. Implied. Defaults to
<tt>0</tt>
.</td>
</tr>
<tr>
<td>
<tt>max</tt>
</td>
<td>NUMBER</td>
<td>
<i>none</i>
</td>
<td>Maximum number of bytes required for a valid response. Optional. When absent, there is no upper limit on the number of bytes in a valid response.</td>
</tr>
<tr>
<td>
<tt>label</tt>
</td>
<td>CDATA</td>
<td>
<i>none</i>
</td>
<td>Label associated with this validation, which may be used in programatically generated documentation or reports. Optional.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="refsect1">
<a name="N2735">
</a>
<h2>
<a name="N2735">
</a>
Parents</h2>
<span class="simplelist">
<tt>
<a href="#latka.ref.validate">validate</a>
</tt>
</span>
</div>
<div class="refsect1">
<a name="N2744">
</a>
<h2>
<a name="N2744">
</a>
Description</h2>
<p>A
<tt>byteLength</tt>
validation passes if the HTTP(S) response is at least
<tt>min</tt>
bytes long, and (when specified) at most
<tt>max</tt>
bytes long.</p>
</div>
</div>
<div class="refentry">
<h1 class="title">
<a name="latka.ref.cookie">
</a>
cookie</h1>
<div class="refnamediv">
<a name="N2767">
</a>
<h2>Name</h2>
cookie - validates the presence of an HTTP(S) cookie in the current session</div>
<div class="refsynopsisdiv">
<a name="N2772">
</a>
<h2>Synopsis</h2>
<div class="refsect2">
<a name="N2773">
</a>
<h3>
<a name="N2773">
</a>
DTD</h3>
<pre class="synopsis">
<!ELEMENT cookie EMPTY>
<!ATTLIST cookie name CDATA #REQUIRED
value CDATA #IMPLIED
label CDATA #IMPLIED>
</pre>
</div>
<div class="refsect2">
<a name="N2779">
</a>
<h3>
<a name="N2779">
</a>
Attributes</h3>
<div class="informaltable" id="N2782">
<a name="N2782">
</a>
<table border="1">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<tt>name</tt>
</td>
<td>CDATA</td>
<td>
<i>none, but required</i>
</td>
<td>The name of the cookie to look for. Required.</td>
</tr>
<tr>
<td>
<tt>value</tt>
</td>
<td>CDATA</td>
<td>
<i>none, optional</i>
</td>
<td>The value that the cookie with the specified name should have (if any).</td>
</tr>
<tr>
<td>
<tt>label</tt>
</td>
<td>CDATA</td>
<td>
<i>none</i>
</td>
<td>Label associated with this validation, which may be used in programatically generated documentation or reports. Optional.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="refsect1">
<a name="N2832">
</a>
<h2>
<a name="N2832">
</a>
Parents</h2>
<span class="simplelist">
<tt>
<a href="#latka.ref.validate">validate</a>
</tt>
</span>
</div>
<div class="refsect1">
<a name="N2841">
</a>
<h2>
<a name="N2841">
</a>
Description</h2>
<p>A
<tt>cookie</tt>
validation passes if the HTTP(S) response contains a cookie with the specified
<tt>name</tt>
. If a
<tt>value</tt>
is provided, the cookie must also have the specified value.</p>
</div>
</div>
<div class="refentry">
<h1 class="title">
<a name="latka.ref.credentials">
</a>
credentials</h1>
<div class="refnamediv">
<a name="N2864">
</a>
<h2>Name</h2>
credentials - username/password credentials for Basic HTTP authentication.</div>
<div class="refsynopsisdiv">
<a name="N2869">
</a>
<h2>Synopsis</h2>
<div class="refsect2">
<a name="N2870">
</a>
<h3>
<a name="N2870">
</a>
DTD</h3>
<pre class="synopsis">
<!ELEMENT credentials EMPTY>
<!ATTLIST credentials userName CDATA #REQUIRED
password CDATA #REQUIRED>
</pre>
</div>
<div class="refsect2">
<a name="N2876">
</a>
<h3>
<a name="N2876">
</a>
Attributes</h3>
<div class="informaltable" id="N2879">
<a name="N2879">
</a>
<table border="1">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<tt>userName</tt>
</td>
<td>CDATA</td>
<td>
<i>none, required</i>
</td>
<td>User name. Required.</td>
</tr>
<tr>
<td>
<tt>password</tt>
</td>
<td>CDATA</td>
<td>
<i>none, required</i>
</td>
<td>Password. Required.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="refsect1">
<a name="N2917">
</a>
<h2>
<a name="N2917">
</a>
Parents</h2>
<span class="simplelist">
<tt>
<a href="#latka.ref.request">request</a>
</tt>
</span>
</div>
<div class="refsect1">
<a name="N2926">
</a>
<h2>
<a name="N2926">
</a>
Description</h2>
<p>Contains credentials for HTTP Basic Authentication.</p>
</div>
</div>
<div class="refentry">
<h1 class="title">
<a name="latka.ref.maxRequestTime">
</a>
maxRequestTime</h1>
<div class="refnamediv">
<a name="N2938">
</a>
<h2>Name</h2>
maxRequestTime - validates the response time for an HTTP(S) request</div>
<div class="refsynopsisdiv">
<a name="N2943">
</a>
<h2>Synopsis</h2>
<div class="refsect2">
<a name="N2944">
</a>
<h3>
<a name="N2944">
</a>
DTD</h3>
<pre class="synopsis">
<!ELEMENT maxRequestTime EMPTY>
<!ATTLIST maxRequestTime millis CDATA "30000"
message CDATA #IMPLIED>
</pre>
</div>
<div class="refsect2">
<a name="N2950">
</a>
<h3>
<a name="N2950">
</a>
Attributes</h3>
<div class="informaltable" id="N2953">
<a name="N2953">
</a>
<table border="1">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<tt>millis</tt>
</td>
<td>NUMBER</td>
<td>
<tt>30000</tt>
</td>
<td>Maximum amount of time, in milliseconds, in which a response must be returned to be considered a valid response. Implied. Defaults to
<tt>30000</tt>
milliseconds, or 30 seconds.</td>
</tr>
<tr>
<td>
<tt>label</tt>
</td>
<td>CDATA</td>
<td>
<i>none</i>
</td>
<td>Label associated with this validation, which may be used in programatically generated documentation or reports. Optional.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="refsect1">
<a name="N2996">
</a>
<h2>
<a name="N2996">
</a>
Parents</h2>
<span class="simplelist">
<tt>
<a href="#latka.ref.validate">validate</a>
</tt>
</span>
</div>
<div class="refsect1">
<a name="N3005">
</a>
<h2>
<a name="N3005">
</a>
Description</h2>
<p>A
<tt>maxRequestTime</tt>
validation passes if the HTTP(S) response is obtained in no more than
<tt>millis</tt>
milliseconds.</p>
</div>
</div>
<div class="refentry">
<h1 class="title">
<a name="latka.ref.param">
</a>
param</h1>
<div class="refnamediv">
<a name="N3024">
</a>
<h2>Name</h2>
param - indicates a request parameter as part of an HTTP(S) request to be executed</div>
<div class="refsynopsisdiv">
<a name="N3029">
</a>
<h2>Synopsis</h2>
<div class="refsect2">
<a name="N3030">
</a>
<h3>
<a name="N3030">
</a>
DTD</h3>
<pre class="synopsis">
<!ELEMENT request (
<a href="#latka.ref.paramName">paramName</a>
,
<a href="#latka.ref.paramValue">paramValue</a>
)>
</pre>
</div>
<div class="refsect2">
<a name="N3042">
</a>
<h3>
<a name="N3042">
</a>
Attributes</h3>
<p>
<i>None.</i>
</p>
</div>
</div>
<div class="refsect1">
<a name="N3050">
</a>
<h2>
<a name="N3050">
</a>
Parents</h2>
<span class="simplelist">
<tt>
<a href="#latka.ref.request">request</a>
</tt>
</span>
</div>
<div class="refsect1">
<a name="N3059">
</a>
<h2>
<a name="N3059">
</a>
Description</h2>
<p>A parameter to be submitted as part of a
<tt>
<a href="#latka.ref.request">request</a>
</tt>
.</p>
</div>
</div>
<div class="refentry">
<h1 class="title">
<a name="latka.ref.paramName">
</a>
paramName</h1>
<div class="refnamediv">
<a name="N3075">
</a>
<h2>Name</h2>
paramName - the name part of a name/value pair parameter</div>
<div class="refsynopsisdiv">
<a name="N3080">
</a>
<h2>Synopsis</h2>
<div class="refsect2">
<a name="N3081">
</a>
<h3>
<a name="N3081">
</a>
DTD</h3>
<pre class="synopsis">
<!ELEMENT paramName (#PCDATA)>
</pre>
</div>
<div class="refsect2">
<a name="N3087">
</a>
<h3>
<a name="N3087">
</a>
Attributes</h3>
<p>
<i>None.</i>
</p>
</div>
</div>
<div class="refsect1">
<a name="N3095">
</a>
<h2>
<a name="N3095">
</a>
Parents</h2>
<span class="simplelist">
<tt>
<a href="#latka.ref.param">param</a>
</tt>
</span>
</div>
<div class="refsect1">
<a name="N3104">
</a>
<h2>
<a name="N3104">
</a>
Description</h2>
<p>The name part of
<tt>
<a href="#latka.ref.param">param</a>
</tt>
to be submitted as part of a
<tt>
<a href="#latka.ref.request">request</a>
</tt>
.</p>
</div>
</div>
<div class="refentry">
<h1 class="title">
<a name="latka.ref.paramValue">
</a>
paramValue</h1>
<div class="refnamediv">
<a name="N3124">
</a>
<h2>Name</h2>
paramValue - the value part of a name/value pair parameter</div>
<div class="refsynopsisdiv">
<a name="N3129">
</a>
<h2>Synopsis</h2>
<div class="refsect2">
<a name="N3130">
</a>
<h3>
<a name="N3130">
</a>
DTD</h3>
<pre class="synopsis">
<!ELEMENT paramValue (#PCDATA)>
</pre>
</div>
<div class="refsect2">
<a name="N3136">
</a>
<h3>
<a name="N3136">
</a>
Attributes</h3>
<p>
<i>None.</i>
</p>
</div>
</div>
<div class="refsect1">
<a name="N3144">
</a>
<h2>
<a name="N3144">
</a>
Parents</h2>
<span class="simplelist">
<tt>
<a href="#latka.ref.param">param</a>
</tt>
</span>
</div>
<div class="refsect1">
<a name="N3153">
</a>
<h2>
<a name="N3153">
</a>
Description</h2>
<p>The value part of
<tt>
<a href="#latka.ref.param">param</a>
</tt>
to be submitted as part of a
<tt>
<a href="#latka.ref.request">request</a>
</tt>
.</p>
</div>
</div>
<div class="refentry">
<h1 class="title">
<a name="latka.ref.regexp">
</a>
regexp</h1>
<div class="refnamediv">
<a name="N3173">
</a>
<h2>Name</h2>
regexp - validates the presence or absence of a regular expression within an HTTP(S) response</div>
<div class="refsynopsisdiv">
<a name="N3178">
</a>
<h2>Synopsis</h2>
<div class="refsect2">
<a name="N3179">
</a>
<h3>
<a name="N3179">
</a>
DTD</h3>
<pre class="synopsis">
<!ELEMENT regexp EMPTY>
<!ATTLIST regexp pattern CDATA #REQUIRED
cond (true | false) "true"
ignoreCase (true | false) "false"
label CDATA #IMPLIED>
</pre>
</div>
<div class="refsect2">
<a name="N3185">
</a>
<h3>
<a name="N3185">
</a>
Attributes</h3>
<div class="informaltable" id="N3188">
<a name="N3188">
</a>
<table border="1">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<tt>pattern</tt>
</td>
<td>CDATA</td>
<td>
<i>none, but required.</i>
</td>
<td>The regular expression to look for.</td>
</tr>
<tr>
<td>
<tt>cond</tt>
</td>
<td>
<i>Enumeration:</i>
<table class="simplelist" border="0" summary="Simple list">
<tr>
<td>
<tt>true</tt>
</td>
</tr>
<tr>
<td>
<tt>false</tt>
</td>
</tr>
</table>
</td>
<td>
<tt>true</tt>
</td>
<td>When
<tt>true</tt>
, the given
<tt>pattern</tt>
must match within the response. When
<tt>false</tt>
, the given
<tt>pattern</tt>
must not match within the response.</td>
</tr>
<tr>
<td>
<tt>ignoreCase</tt>
</td>
<td>
<i>Enumeration:</i>
<table class="simplelist" border="0" summary="Simple list">
<tr>
<td>
<tt>true</tt>
</td>
</tr>
<tr>
<td>
<tt>false</tt>
</td>
</tr>
</table>
</td>
<td>
<tt>false</tt>
</td>
<td>When
<tt>true</tt>
, case is ignored within the given
<tt>pattern</tt>
.</td>
</tr>
<tr>
<td>
<tt>label</tt>
</td>
<td>CDATA</td>
<td>
<i>none</i>
</td>
<td>Label associated with this validation, which may be used in programatically generated documentation or reports. Optional.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="refsect1">
<a name="N3298">
</a>
<h2>
<a name="N3298">
</a>
Parents</h2>
<span class="simplelist">
<tt>
<a href="#latka.ref.validate">validate</a>
</tt>
</span>
</div>
<div class="refsect1">
<a name="N3307">
</a>
<h2>
<a name="N3307">
</a>
Description</h2>
<p>A
<tt>maxRequestTime</tt>
validation passes if the HTTP(S) response is obtained in no more than
<tt>millis</tt>
milliseconds.</p>
</div>
</div>
<div class="refentry">
<h1 class="title">
<a name="latka.ref.request">
</a>
request</h1>
<div class="refnamediv">
<a name="N3326">
</a>
<h2>Name</h2>
request - indicates an HTTP(S) request to be executed</div>
<div class="refsynopsisdiv">
<a name="N3331">
</a>
<h2>Synopsis</h2>
<div class="refsect2">
<a name="N3332">
</a>
<h3>
<a name="N3332">
</a>
DTD</h3>
<pre class="synopsis">
<!ELEMENT request (
<a href="#latka.ref.credentials">credentials</a>
?,
<a href="#latka.ref.param">param</a>
*,
<a href="#latka.ref.validate">validate</a>
?)>
<!ATTLIST request path CDATA #REQUIRED
method (post | get) "get"
host CDATA #IMPLIED
port CDATA #IMPLIED
label CDATA #IMPLIED>
</pre>
</div>
<div class="refsect2">
<a name="N3347">
</a>
<h3>
<a name="N3347">
</a>
Attributes</h3>
<div class="informaltable" id="N3350">
<a name="N3350">
</a>
<table border="1">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<tt>path</tt>
</td>
<td>CDATA</td>
<td>
<i>none, but required</i>
</td>
<td>Request path. Required.</td>
</tr>
<tr>
<td>
<tt>method</tt>
</td>
<td>
<i>enumeration:</i>
<table class="simplelist" border="0" summary="Simple list">
<tr>
<td>
<tt>get</tt>
</td>
</tr>
<tr>
<td>
<tt>post</tt>
</td>
</tr>
</table>
</td>
<td>
<tt>get</tt>
</td>
<td>HTTP method. Implied. Defaults to
<tt>get</tt>
.</td>
</tr>
<tr>
<td>
<tt>host</tt>
</td>
<td>CDATA</td>
<td>
<i>none</i>
</td>
<td>Host to submit request to. Optional. When absent, uses default from
<tt>
<a href="#latka.ref.suite">suite</a>
</tt>
.</td>
</tr>
<tr>
<td>
<tt>port</tt>
</td>
<td>NUMBER</td>
<td>
<i>depends upon protocol</i>
</td>
<td>Port to submit request to. Optional. When absent, uses default from
<tt>
<a href="#latka.ref.suite">suite</a>
</tt>
.</td>
</tr>
<tr>
<td>
<tt>label</tt>
</td>
<td>CDATA</td>
<td>
<i>none</i>
</td>
<td>Label associated with this validation, which may be used in programatically generated documentation or reports. Optional.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="refsect1">
<a name="N3448">
</a>
<h2>
<a name="N3448">
</a>
Parents</h2>
<span class="simplelist">
<tt>
<a href="#latka.ref.suite">suite</a>
</tt>
,
<tt>
<a href="#latka.ref.session">session</a>
</tt>
</span>
</div>
<div class="refsect1">
<a name="N3461">
</a>
<h2>
<a name="N3461">
</a>
Description</h2>
<p>An HTTP(S) request to be executed.</p>
</div>
</div>
<div class="refentry">
<h1 class="title">
<a name="latka.ref.session">
</a>
session</h1>
<div class="refnamediv">
<a name="N3473">
</a>
<h2>Name</h2>
suite - wrapper for a sequence of
<tt>
<a href="#latka.ref.request">request</a>
</tt>
s associated with the same state (session)</div>
<div class="refsynopsisdiv">
<a name="N3482">
</a>
<h2>Synopsis</h2>
<div class="refsect2">
<a name="N3483">
</a>
<h3>
<a name="N3483">
</a>
DTD</h3>
<pre class="synopsis">
<!ELEMENT session (
<a href="#latka.ref.request">request</a>
+)>
<!ATTLIST session sessionId CDATA #IMPLIED
label CDATA #IMPLIED>
</pre>
</div>
<div class="refsect2">
<a name="N3492">
</a>
<h3>
<a name="N3492">
</a>
Attributes</h3>
<div class="informaltable" id="N3495">
<a name="N3495">
</a>
<table border="1">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<tt>sessionId</tt>
</td>
<td>CDATA</td>
<td>
<i>none</i>
</td>
<td>Unique identifier for this
<tt>session</tt>
. Sessions with the same
<tt>sessionId</tt>
will share the same underlying state (e.g., cookies, etc.)</td>
</tr>
<tr>
<td>
<tt>label</tt>
</td>
<td>CDATA</td>
<td>
<i>none</i>
</td>
<td>Label associated with this
<tt>session</tt>
, which may be used in programatically generated documentation or reports. Optional.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="refsect1">
<a name="N3543">
</a>
<h2>
<a name="N3543">
</a>
Parents</h2>
<span class="simplelist">
<tt>
<a href="#latka.ref.suite">suite</a>
</tt>
</span>
</div>
<div class="refsect1">
<a name="N3552">
</a>
<h2>
<a name="N3552">
</a>
Description</h2>
<p>A
<tt>session</tt>
is a collection of
<tt>
<a href="#latka.ref.request">request</a>
</tt>
s that share the same underlying state. For example, a cookie that returned in the response to one
<tt>
<a href="#latka.ref.request">request</a>
</tt>
will be included in subsequent
<tt>
<a href="#latka.ref.request">request</a>
</tt>
s.</p>
</div>
</div>
<div class="refentry">
<h1 class="title">
<a name="latka.ref.statusCode">
</a>
statusCode</h1>
<div class="refnamediv">
<a name="N3579">
</a>
<h2>Name</h2>
statusCode - validates an HTTP response code</div>
<div class="refsynopsisdiv">
<a name="N3584">
</a>
<h2>Synopsis</h2>
<div class="refsect2">
<a name="N3585">
</a>
<h3>
<a name="N3585">
</a>
DTD</h3>
<pre class="synopsis">
<!ELEMENT statusCode EMPTY>
<!ATTLIST statusCode code CDATA "200"
message CDATA #IMPLIED>
</pre>
</div>
<div class="refsect2">
<a name="N3591">
</a>
<h3>
<a name="N3591">
</a>
Attributes</h3>
<div class="informaltable" id="N3594">
<a name="N3594">
</a>
<table border="1">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<tt>code</tt>
</td>
<td>NUMBER</td>
<td>
<tt>200</tt>
</td>
<td>Numeric HTTP response code to expect. Implied. Defaults to
<tt>200</tt>
.</td>
</tr>
<tr>
<td>
<tt>label</tt>
</td>
<td>CDATA</td>
<td>
<i>none</i>
</td>
<td>Label associated with this validation, which may be used in programatically generated documentation or reports. Optional.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="refsect1">
<a name="N3637">
</a>
<h2>
<a name="N3637">
</a>
Parents</h2>
<span class="simplelist">
<tt>
<a href="#latka.ref.validate">validate</a>
</tt>
</span>
</div>
<div class="refsect1">
<a name="N3646">
</a>
<h2>
<a name="N3646">
</a>
Description</h2>
<p>A
<tt>statusCode</tt>
validation passes if the HTTP(S) response code for the given request matches the value specified by
<tt>code</tt>
.</p>
</div>
</div>
<div class="refentry">
<h1 class="title">
<a name="latka.ref.suite">
</a>
suite</h1>
<div class="refnamediv">
<a name="N3665">
</a>
<h2>Name</h2>
suite - root element for a suite of tests</div>
<div class="refsynopsisdiv">
<a name="N3670">
</a>
<h2>Synopsis</h2>
<div class="refsect2">
<a name="N3671">
</a>
<h3>
<a name="N3671">
</a>
DTD</h3>
<pre class="synopsis">
<!ELEMENT suite ( (
<a href="#latka.ref.session">session</a>
|
<a href="#latka.ref.request">request</a>
)+ )>
<!ATTLIST suite defaultHost CDATA #IMPLIED
defaultPort CDATA #IMPLIED
label CDATA #IMPLIED>
</pre>
</div>
<div class="refsect2">
<a name="N3683">
</a>
<h3>
<a name="N3683">
</a>
Attributes</h3>
<div class="informaltable" id="N3686">
<a name="N3686">
</a>
<table border="1">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<tt>defaultHost</tt>
</td>
<td>CDATA</td>
<td>
<i>none</i>
</td>
<td>Default hostname for
<tt>
<a href="#latka.ref.request">request</a>
</tt>
s. Optional.</td>
</tr>
<tr>
<td>
<tt>defaultPort</tt>
</td>
<td>NUMBER</td>
<td>
<i>none</i>
</td>
<td>Default port for
<tt>
<a href="#latka.ref.request">request</a>
</tt>
s. Optional.</td>
</tr>
<tr>
<td>
<tt>label</tt>
</td>
<td>CDATA</td>
<td>
<i>none</i>
</td>
<td>Label associated with this
<tt>suite</tt>
, which may be used in programatically generated documentation or reports. Optional.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="refsect1">
<a name="N3747">
</a>
<h2>
<a name="N3747">
</a>
Parents</h2>
<p>
<i>None.</i>
</p>
</div>
<div class="refsect1">
<a name="N3755">
</a>
<h2>
<a name="N3755">
</a>
Description</h2>
<p>A
<tt>suite</tt>
is a collection of
<tt>
<a href="#latka.ref.request">request</a>
</tt>
s and
<tt>
<a href="#latka.ref.session">session</a>
</tt>
s to execute.</p>
</div>
</div>
<div class="refentry">
<h1 class="title">
<a name="latka.ref.validate">
</a>
validate</h1>
<div class="refnamediv">
<a name="N3778">
</a>
<h2>Name</h2>
validate - indicates the suite of validations to apply to the current
<tt>
<a href="#latka.ref.request">request</a>
</tt>
(and its response)</div>
<div class="refsynopsisdiv">
<a name="N3787">
</a>
<h2>Synopsis</h2>
<div class="refsect2">
<a name="N3788">
</a>
<h3>
<a name="N3788">
</a>
DTD</h3>
<pre class="synopsis">
<!ELEMENT validate (
<a href="#latka.ref.byteLength">byteLength</a>
|
<a href="#latka.ref.cookie">cookie</a>
|
<a href="#latka.ref.maxRequestTime">maxRequestTime</a>
|
<a href="#latka.ref.regexp">regexp</a>
|
<a href="#latka.ref.statusCode">statusCode</a>
)+>
</pre>
</div>
<div class="refsect2">
<a name="N3809">
</a>
<h3>
<a name="N3809">
</a>
Attributes</h3>
<p>
<i>None.</i>
</p>
</div>
</div>
<div class="refsect1">
<a name="N3817">
</a>
<h2>
<a name="N3817">
</a>
Parents</h2>
<span class="simplelist">
<tt>
<a href="#latka.ref.request">request</a>
</tt>
</span>
</div>
<div class="refsect1">
<a name="N3826">
</a>
<h2>
<a name="N3826">
</a>
Description</h2>
<p>Contains the set of validations to apply to the current
<tt>
<a href="#latka.ref.request">request</a>
</tt>
(and its response).</p>
</div>
</div>
</section>
</body>
</document>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
