mirror of https://github.com/apache/jmeter.git
536 lines
16 KiB
HTML
536 lines
16 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<!--
|
|
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.
|
|
-->
|
|
|
|
<!-- Content Stylesheet for Site -->
|
|
|
|
|
|
<!-- start the processing -->
|
|
<!-- ====================================================================== -->
|
|
<!-- Main Page Section -->
|
|
<!-- ====================================================================== -->
|
|
<html>
|
|
<head>
|
|
<link rel="stylesheet" type="text/css" href="../css/style.css"/>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
|
|
|
|
|
|
<meta name="author" value="Martin Ramshaw">
|
|
<meta name="email" value="mramshaw@alumni.concordia.ca">
|
|
|
|
<title>Apache JMeter - User's Manual: Building an FTP Test Plan</title>
|
|
</head>
|
|
|
|
<body bgcolor="#ffffff" text="#000000" link="#525D76">
|
|
<table border="0" cellspacing="0">
|
|
<!-- TOP IMAGE -->
|
|
<tr>
|
|
<td>
|
|
<!-- Need to specify height otherwise iframe seems to grab extra -->
|
|
<iframe src="http://www.apache.org/ads/halfbanner.html" height="102"
|
|
style="border-width:0; float: left" frameborder="0" scrolling="no"></iframe>
|
|
</td>
|
|
<td align="left">
|
|
<a href="http://www.apache.org"><img title="Apache Software Foundation" width="387" height="100" src="../images/asf-logo.gif" border="0"/></a>
|
|
</td>
|
|
<td align="right">
|
|
<a href="http://jmeter.apache.org/"><img width="221" height="102" src="../images/logo.jpg" alt="Apache JMeter" title="Apache JMeter" border="0"/></a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table border="0" width="100%" cellspacing="4">
|
|
<tr><td colspan="2">
|
|
<hr noshade size="1"/>
|
|
</td></tr>
|
|
<tr>
|
|
<!-- LEFT SIDE NAVIGATION -->
|
|
<td width="20%" valign="top" nowrap="true">
|
|
<p><strong>About</strong></p>
|
|
<ul>
|
|
<li><a href="../index.html">Overview</a>
|
|
</li>
|
|
<li><a href="../changes.html">Changes</a>
|
|
</li>
|
|
<li><a href="http://projects.apache.org/feeds/rss/jmeter.xml">Subscribe to What's New</a>
|
|
</li>
|
|
<li><a href="../issues.html">Issues</a>
|
|
</li>
|
|
<li><a href="http://www.apache.org/licenses/">License</a>
|
|
</li>
|
|
<li><a href="http://wiki.apache.org/jmeter/JMeterCommitters">Contributors</a>
|
|
</li>
|
|
</ul>
|
|
<p><strong>Download</strong></p>
|
|
<ul>
|
|
<li><a href="../download_jmeter.cgi">Download Releases</a>
|
|
</li>
|
|
<li><a href="../nightly.html">Developer (Nightly) Builds</a>
|
|
</li>
|
|
</ul>
|
|
<p><strong>Documentation</strong></p>
|
|
<ul>
|
|
<li><a href="../usermanual/index.html">User Manual</a>
|
|
</li>
|
|
<li><a href="../usermanual/component_reference.html">Component Reference</a>
|
|
</li>
|
|
<li><a href="../usermanual/functions.html">Functions Reference</a>
|
|
</li>
|
|
<li><a href="../api/index.html">Javadocs</a>
|
|
</li>
|
|
<li><a href="../localising/index.html">Localisation (Translator's Guide)</a>
|
|
</li>
|
|
<li><a href="../building.html">Building JMeter and Add-Ons</a>
|
|
</li>
|
|
<li><a href="http://wiki.apache.org/jmeter">JMeter Wiki</a>
|
|
</li>
|
|
<li><a href="http://wiki.apache.org/jmeter/JMeterFAQ">FAQ (Wiki)</a>
|
|
</li>
|
|
</ul>
|
|
<p><strong>Tutorials (PDF format)</strong></p>
|
|
<ul>
|
|
<li><a href="../usermanual/jmeter_distributed_testing_step_by_step.pdf">Distributed Testing</a>
|
|
</li>
|
|
<li><a href="../usermanual/jmeter_proxy_step_by_step.pdf">Recording Tests</a>
|
|
</li>
|
|
<li><a href="../usermanual/junitsampler_tutorial.pdf">JUnit Sampler</a>
|
|
</li>
|
|
<li><a href="../usermanual/jmeter_accesslog_sampler_step_by_step.pdf">Access Log Sampler</a>
|
|
</li>
|
|
<li><a href="../extending/jmeter_tutorial.pdf">Extending JMeter</a>
|
|
</li>
|
|
</ul>
|
|
<p><strong>Community</strong></p>
|
|
<ul>
|
|
<li><a href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a>
|
|
</li>
|
|
<li><a href="../mail.html">Mailing Lists</a>
|
|
</li>
|
|
<li><a href="../svnindex.html">SVN Repositories</a>
|
|
</li>
|
|
</ul>
|
|
<p><strong>Foundation</strong></p>
|
|
<ul>
|
|
<li><a href="http://www.apache.org/">ASF</a>
|
|
</li>
|
|
<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
|
|
</li>
|
|
<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a>
|
|
</li>
|
|
</ul>
|
|
</td>
|
|
<td width="80%" align="left" valign="top">
|
|
<table>
|
|
<tr>
|
|
<td bgcolor="#525D76">
|
|
<div align="right"><a href="index.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Index</font></a></div>
|
|
</td>
|
|
<td bgcolor="#525D76">
|
|
<div align="right"><a href="build-ldap-test-plan.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Next</font></a></div>
|
|
</td>
|
|
<td bgcolor="#525D76">
|
|
<div align="right"><a href="build-db-test-plan.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Prev</font></a></div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<br>
|
|
<table border="0" cellspacing="0" cellpadding="2" width="100%">
|
|
<tr><td bgcolor="#525D76">
|
|
<font color="#ffffff" face="arial,helvetica,sanserif">
|
|
<a name="building"><strong>8. Building an FTP Test Plan</strong></a><a class="sectionlink" href="#building" title="Link to here">¶</a></font>
|
|
</td></tr>
|
|
<tr><td>
|
|
<blockquote>
|
|
<p>
|
|
In this section, you will learn how to create a basic
|
|
|
|
<a href="build-test-plan.html">
|
|
Test Plan
|
|
</a>
|
|
to test an FTP site. You will
|
|
create four users that send requests for two files on the O'Reilly FTP site.
|
|
Also, you will tell the users to run their tests twice. So, the total number of
|
|
requests is (4 users) x (2 requests) x (repeat 2 times) = 16 FTP requests. To
|
|
construct the Test Plan, you will use the following elements:
|
|
|
|
<a href="test_plan.html#thread_group">
|
|
Thread Group
|
|
</a>
|
|
,
|
|
|
|
<a href="../usermanual/component_reference.html#FTP_Request">FTP Request</a>
|
|
,
|
|
|
|
<a href="../usermanual/component_reference.html#FTP_Request_Defaults">FTP Request Defaults</a>
|
|
, and
|
|
|
|
<a href="../usermanual/component_reference.html#Spline_Visualizer">Spline Visualizer</a>
|
|
.
|
|
</p>
|
|
<p>
|
|
<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
|
|
<tr><td>This example uses the O'Reilly FTP site, www.oro.com. Please be considerate
|
|
when running this example, and (if possible) consider running against another
|
|
FTP site.
|
|
</td></tr>
|
|
</table>
|
|
</p>
|
|
</blockquote>
|
|
</p>
|
|
</td></tr>
|
|
<tr><td><br></td></tr>
|
|
</table>
|
|
<table border="0" cellspacing="0" cellpadding="2" width="100%">
|
|
<tr><td bgcolor="#525D76">
|
|
<font color="#ffffff" face="arial,helvetica,sanserif">
|
|
<a name="adding_users"><strong>8.1 Adding Users</strong></a><a class="sectionlink" href="#adding_users" title="Link to here">¶</a></font>
|
|
</td></tr>
|
|
<tr><td>
|
|
<blockquote>
|
|
<p>
|
|
The first step you want to do with every JMeter Test Plan is to add a
|
|
|
|
<a href="test_plan.html#thread_group">
|
|
Thread Group
|
|
</a>
|
|
element. The Thread Group tells
|
|
JMeter the number of users you want to simulate, how often the users should send
|
|
requests, and the how many requests they should send.
|
|
</p>
|
|
<p>
|
|
Go ahead and add the ThreadGroup element by first selecting the Test Plan,
|
|
clicking your right mouse button to get the Add menu, and then select
|
|
Add --> ThreadGroup.
|
|
</p>
|
|
<p>
|
|
You should now see the Thread Group element under Test Plan. If you do not
|
|
see the element, then "expand" the Test Plan tree by clicking on the
|
|
Test Plan element.
|
|
</p>
|
|
<p>
|
|
Next, you need to modify the default properties. Select the Thread Group element
|
|
in the tree, if you have not already selected it. You should now see the Thread
|
|
Group Control Panel in the right section of the JMeter window (see Figure 8.1
|
|
below)
|
|
</p>
|
|
<p><table border="0" cellspacing="0" cellpadding="0"><tr><td><img src="../images/screenshots/webtest/threadgroup.png"><br>
|
|
<font size="-1">
|
|
Figure 8.1. Thread Group with Default Values
|
|
</font></td></tr></table></p>
|
|
<p>
|
|
Start by providing a more descriptive name for our Thread Group. In the name
|
|
field, enter O'Reilly Users.
|
|
</p>
|
|
<p>
|
|
Next, increase the number of users to 4.
|
|
</p>
|
|
<p>
|
|
In the next field, the Ramp-Up Period, leave the the default value of 0
|
|
seconds. This property tells JMeter how long to delay between starting each
|
|
user. For example, if you enter a Ramp-Up Period of 5 seconds, JMeter will
|
|
finish starting all of your users by the end of the 5 seconds. So, if we have
|
|
5 users and a 5 second Ramp-Up Period, then the delay between starting users
|
|
would be 1 second (5 users / 5 seconds = 1 user per second). If you set the
|
|
value to 0, then JMeter will immediately start all of your users.
|
|
</p>
|
|
<p>
|
|
Finally, enter a value of 2 in
|
|
the Loop Count field. This property tells JMeter how many times to repeat your
|
|
test. To have JMeter repeatedly run your Test Plan, select the Forever
|
|
checkbox.
|
|
</p>
|
|
<p>
|
|
<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
|
|
<tr><td>In most applications, you have to manually accept
|
|
changes you make in a Control Panel. However, in JMeter, the Control Panel
|
|
automatically accepts your changes as you make them. If you change the
|
|
name of an element, the tree will be updated with the new text after you
|
|
leave the Control Panel (for example, when selecting another tree element).
|
|
</td></tr>
|
|
</table>
|
|
</p>
|
|
<p>
|
|
See Figure 8.2 for the completed O'Reilly Users Thread Group.
|
|
</p>
|
|
<p><table border="0" cellspacing="0" cellpadding="0"><tr><td><img src="../images/screenshots/ftptest/threadgroup2.png"><br>
|
|
<font size="-1">
|
|
Figure 8.2. O'Reilly Users Thread Group
|
|
</font></td></tr></table></p>
|
|
</blockquote>
|
|
</p>
|
|
</td></tr>
|
|
<tr><td><br></td></tr>
|
|
</table>
|
|
<table border="0" cellspacing="0" cellpadding="2" width="100%">
|
|
<tr><td bgcolor="#525D76">
|
|
<font color="#ffffff" face="arial,helvetica,sanserif">
|
|
<a name="adding_defaults"><strong>8.2 Adding Default FTP Request Properties</strong></a><a class="sectionlink" href="#adding_defaults" title="Link to here">¶</a></font>
|
|
</td></tr>
|
|
<tr><td>
|
|
<blockquote>
|
|
<p>
|
|
Now that we have defined our users, it is time define the tasks that they
|
|
will be performing. In this section, you will specify the default settings
|
|
for your FTP requests. And then, in section 8.3, you will add FTP Request
|
|
elements which use some of the default settings you specified here.
|
|
</p>
|
|
<p>
|
|
Begin by selecting the O'Reilly Users element. Click your right mouse button
|
|
to get the Add menu, and then select Add --> Config Element --> FTP Request
|
|
Defaults. Then, select this new element to view its Control Panel (see Figure 8.3).
|
|
|
|
</p>
|
|
<p><table border="0" cellspacing="0" cellpadding="0"><tr><td><img src="../images/screenshots/ftptest/ftp-defaults.png"><br>
|
|
<font size="-1">
|
|
Figure 8.3. FTP Request Defaults
|
|
</font></td></tr></table></p>
|
|
<p>
|
|
|
|
Like most JMeter elements, the
|
|
<a href="../usermanual/component_reference.html#FTP_Request_Defaults">FTP Request Defaults</a>
|
|
Control
|
|
Panel has a name field that you can modify. In this example, leave this field with
|
|
the default value.
|
|
</p>
|
|
<p>
|
|
Skip to the next field, which is the FTP Server's Server Name/IP. For the
|
|
Test Plan that you are building, all FTP requests will be sent to the same
|
|
FTP server, ftp.oro.com. Enter this domain name into the field.
|
|
This is the only field that we will specify a default, so leave the remaining
|
|
fields with their default values.
|
|
</p>
|
|
<p>
|
|
<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
|
|
<tr><td>The FTP Request Defaults element does not tell JMeter
|
|
to send an FTP request. It simply defines the default values that the
|
|
FTP Request elements use.
|
|
</td></tr>
|
|
</table>
|
|
</p>
|
|
<p>
|
|
See Figure 8.4 for the completed FTP Request Defaults element
|
|
</p>
|
|
<p><table border="0" cellspacing="0" cellpadding="0"><tr><td><img src="../images/screenshots/ftptest/ftp-defaults2.png"><br>
|
|
<font size="-1">
|
|
Figure 8.4. FTP Defaults for our Test Plan
|
|
</font></td></tr></table></p>
|
|
</blockquote>
|
|
</p>
|
|
</td></tr>
|
|
<tr><td><br></td></tr>
|
|
</table>
|
|
<table border="0" cellspacing="0" cellpadding="2" width="100%">
|
|
<tr><td bgcolor="#525D76">
|
|
<font color="#ffffff" face="arial,helvetica,sanserif">
|
|
<a name="adding_requests"><strong>8.3 Adding FTP Requests</strong></a><a class="sectionlink" href="#adding_requests" title="Link to here">¶</a></font>
|
|
</td></tr>
|
|
<tr><td>
|
|
<blockquote>
|
|
<p>
|
|
In our Test Plan, we need to make two FTP requests. The first one is for the
|
|
O'Reilly mSQL Java README file (ftp://ftp.oro.com/pub/msql/java/README), and the
|
|
second is for the tutorial file (ftp://ftp.oro.com/pub/msql/java/tutorial.txt).
|
|
</p>
|
|
<p>
|
|
<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
|
|
<tr><td>JMeter sends requests in the order that they appear in the tree.
|
|
</td></tr>
|
|
</table>
|
|
</p>
|
|
<p>
|
|
Start by adding the first
|
|
<a href="../usermanual/component_reference.html#FTP_Request">FTP Request</a>
|
|
|
|
to the O'Reilly Users element (Add --> Sampler --> FTP Request).
|
|
Then, select the FTP Request element in the tree and edit the following properties
|
|
(see Figure 8.5):
|
|
|
|
<ol>
|
|
|
|
|
|
<li>
|
|
Change the Name to "README".
|
|
</li>
|
|
|
|
|
|
<li>
|
|
Change the File to Retrieve From Server field to "pub/msql/java/README".
|
|
</li>
|
|
|
|
|
|
<li>
|
|
Change the Username field to "anonymous".
|
|
</li>
|
|
|
|
|
|
<li>
|
|
Change the Password field to "anonymous".
|
|
</li>
|
|
|
|
|
|
</ol>
|
|
|
|
|
|
</p>
|
|
<p>
|
|
<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
|
|
<tr><td>You do not have to set the Server Name field because you already specified
|
|
this value in the FTP Request Defaults element.
|
|
</td></tr>
|
|
</table>
|
|
</p>
|
|
<p><table border="0" cellspacing="0" cellpadding="0"><tr><td><img src="../images/screenshots/ftptest/ftp-request.png"><br>
|
|
<font size="-1">
|
|
Figure 8.5. FTP Request for O'Reilly mSQL Java README file
|
|
</font></td></tr></table></p>
|
|
<p>
|
|
Next, add the second FTP Request and edit the following properties (see
|
|
Figure 8.6:
|
|
|
|
<ol>
|
|
|
|
|
|
<li>
|
|
Change the Name to "tutorial".
|
|
</li>
|
|
|
|
|
|
<li>
|
|
Change the File to Retrieve From Server field to "pub/msql/java/tutorial.txt".
|
|
</li>
|
|
|
|
|
|
<li>
|
|
Change the Username field to "anonymous".
|
|
</li>
|
|
|
|
|
|
<li>
|
|
Change the Password field to "anonymous".
|
|
</li>
|
|
|
|
|
|
</ol>
|
|
|
|
|
|
</p>
|
|
<p><table border="0" cellspacing="0" cellpadding="0"><tr><td><img src="../images/screenshots/ftptest/ftp-request2.png"><br>
|
|
<font size="-1">
|
|
Figure 8.6. FTP Request for O'Reilly mSQL Java tutorial file
|
|
</font></td></tr></table></p>
|
|
</blockquote>
|
|
</p>
|
|
</td></tr>
|
|
<tr><td><br></td></tr>
|
|
</table>
|
|
<table border="0" cellspacing="0" cellpadding="2" width="100%">
|
|
<tr><td bgcolor="#525D76">
|
|
<font color="#ffffff" face="arial,helvetica,sanserif">
|
|
<a name="adding_listener"><strong>8.4 Adding a Listener to View/Store the Test Results</strong></a><a class="sectionlink" href="#adding_listener" title="Link to here">¶</a></font>
|
|
</td></tr>
|
|
<tr><td>
|
|
<blockquote>
|
|
<p>
|
|
The final element you need to add to your Test Plan is a
|
|
|
|
<a href="component_reference.html#listeners">
|
|
Listener
|
|
</a>
|
|
. This element is
|
|
responsible for storing all of the results of your FTP requests in a file and presenting
|
|
a visual model of the data.
|
|
</p>
|
|
<p>
|
|
Select the O'Reilly Users element and add a
|
|
<a href="../usermanual/component_reference.html#Spline_Visualizer">Spline Visualizer</a>
|
|
|
|
listener (Add --> Listener --> Spline Visualizer).
|
|
</p>
|
|
<p><table border="0" cellspacing="0" cellpadding="0"><tr><td><img src="../images/screenshots/ftptest/spline-results.png"><br>
|
|
<font size="-1">
|
|
Figure 8.7. Spline Visualizer Listener
|
|
</font></td></tr></table></p>
|
|
</blockquote>
|
|
</p>
|
|
</td></tr>
|
|
<tr><td><br></td></tr>
|
|
</table>
|
|
<table>
|
|
<tr>
|
|
<td bgcolor="#525D76">
|
|
<div align="right"><a href="index.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Index</font></a></div>
|
|
</td>
|
|
<td bgcolor="#525D76">
|
|
<div align="right"><a href="build-ldap-test-plan.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Next</font></a></div>
|
|
</td>
|
|
<td bgcolor="#525D76">
|
|
<div align="right"><a href="build-db-test-plan.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Prev</font></a></div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
<tr><td colspan="2">
|
|
<hr noshade size="1"/>
|
|
</td></tr>
|
|
<tr><td colspan="2">
|
|
<div align="center"><font color="#525D76" size="-1"><em>
|
|
Copyright © 1999-2012, Apache Software Foundation
|
|
</em></font></div>
|
|
</td></tr>
|
|
<tr><td colspan="2">
|
|
<div align="center"><font color="#525D76" size="-1">
|
|
Apache, Apache JMeter, JMeter, the Apache feather, and the Apache JMeter logo are
|
|
trademarks of the Apache Software Foundation.
|
|
</font>
|
|
</div>
|
|
</td></tr>
|
|
</table>
|
|
</body>
|
|
</html>
|
|
<!-- end the processing -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|