blob: 768bf1e9bdae05597ac995a7fecbbeb37ef1d334 [file] [log] [blame]
<?xml version="1.0"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to you under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<!DOCTYPE document[
<!ENTITY sect-num '5'>
]>
<document prev="build-web-test-plan.html" next="build-db-test-plan.html" id="$Id$">
<properties>
<title>User's Manual: Building an Advanced Web Test Plan</title>
</properties>
<body>
<section name="&sect-num;. Building an Advanced Web Test Plan" anchor="building">
<p>In this section, you will learn how to create advanced
<a href="build-test-plan.html">Test Plans</a> to test a Web site.</p>
<p>For an example of a basic Test Plan, see
<a href="build-web-test-plan.html">Building a Web Test Plan</a>.</p></section>
<section name="&sect-num;.1 Handling User Sessions With URL Rewriting" anchor="session_url_rewriting">
<p>If your web application uses URL rewriting rather than cookies to save session information,
then you'll need to do a bit of extra work to test your site.</p>
<p>To respond correctly to URL rewriting, JMeter needs to parse the HTML
received from the server and retrieve the unique session ID. Use the appropriate <complink name="HTTP URL Re-writing Modifier"/>
to accomplish this. Simply enter the name of your session ID parameter into the modifier, and it
will find it and add it to each request. If the request already has a value, it will be replaced.
If "Cache Session Id?" is checked, then the last found session id will be saved,
and will be used if the previous HTTP sample does not contain a session id.
</p>
<example title="URL Rewriting Example" anchor="url_rewriting_example">
<p>Download <a href="../demos/URLRewritingExample.jmx">this example</a>. In Figure 1 is shown a
test plan using URL rewriting. Note that the URL Re-writing modifier is added to the SimpleController,
thus assuring that it will only affect requests under that SimpleController.</p>
<figure image="url_rewrite_example_a.png">Figure 1 - Test Tree</figure>
<p>In Figure 2, we see the URL Re-writing modifier GUI, which just has a field for the user to specify
the name of the session ID parameter. There is also a checkbox for indicating that the session ID should
be part of the path (separated by a ";"), rather than a request parameter</p>
<figure image="url_rewrite_example_b.png">Figure 2 - Request parameters</figure>
</example>
</section>
<section name="&sect-num;.2 Using a Header Manager" anchor="header_manager">
<p>The <complink name="HTTP Header Manager"/> lets you customize what information
JMeter sends in the HTTP request header. This header includes properties like "User-Agent",
"Pragma", "Referer", etc.</p>
<p>The <complink name="HTTP Header Manager"/>, like the <complink name="HTTP Cookie Manager"/>,
should probably be added at the Thread Group level, unless for some reason you wish to
specify different headers for the different <complink name="HTTP Request"/> objects in
your test.</p>
</section>
</body>
</document>