mstover1 2002/08/09 12:08:55
Modified: docs running.html
docs/usermanual component_reference.html functions.html
src_1/org/apache/jmeter/functions IterationCounter.java
src_1/org/apache/jmeter/resources messages.properties
messages_de.properties messages_ja.properties
messages_no.properties
xdocs/stylesheets site.vsl
xdocs/usermanual component_reference.xml functions.xml
Added: docs/images/screenshots duration_assertion.png
function_helper_dialog.png mailer_vis.png
Removed: xdocs/images httpcontroller.jpg httptestsample.jpg
java-apache-project.gif jdbc_controller.jpg
jmeter.jpg jmeter2.jpg jmeter_run_panel.jpg
jmeter_running.jpg simplehttpcontroller.jpg
snapshot.gif test_sample.jpg
xdocs/images/screenshots adding_threadgroup.gif
assertion_results.gif assertions.gif base_ui.gif
constant_timer.gif data_analyzer.gif
file_reporter.gif ftptest.gif
gauss_random_timer.gif graph_full_results.gif
graph_results.gif interleave.gif jdbctest.gif
loop_controller.gif modification.gif once_only.gif
proxy_control.gif spline_visualizer.gif
uniform_random_timer.gif url_rewrite_example_a.gif
url_rewrite_example_b.gif view_result_tree.gif
view_results.gif webtest.gif
xdocs/images/screenshots/assertion assertion.gif
example1a.gif example1b.gif example1c-fail.gif
example1c-pass.gif
xdocs/images/screenshots/ftp-config ftp-request-defaults.gif
xdocs/images/screenshots/gen-controller ftp-request.gif
http-request.gif jdbc-request.gif
xdocs/images/screenshots/http-config
auth-manager-example1a.gif
auth-manager-example1b.gif
header-manager-example1a.gif
header-manager-example1b.gif http-auth-manager.gif
http-config-example.gif http-cookie-manager.gif
http-header-manager.gif http-proxy-server.gif
http-request-defaults.gif
proxy-server-example1a.gif
xdocs/images/screenshots/jdbc-config jdbc-db-conn-pool.gif
jdbc-db-login.gif jdbc-sql-query.gif
xdocs/images/screenshots/logic-controller
interleave-controller.gif interleave.gif
interleave2.gif loop-controller.gif
loop-example.gif once-only-controller.gif
once-only-example.gif simple-controller.gif
simple-example.gif
xdocs/images/screenshots/remote run-menu00.gif
xdocs/images/screenshots/timers constant_timer.gif
gauss_random_timer.gif uniform_random_timer.gif
xdocs/images/screenshots/webtest file-reporter-results.gif
file-reporter.gif http-defaults1.gif
http-defaults2.gif http-request1.gif
http-request2.gif threadgroup.gif threadgroup2.gif
Log:
Updating documentation
Revision Changes Path
1.50 +0 -0 jakarta-jmeter/docs/running.html
Index: running.html
===================================================================
RCS file: /home/cvs/jakarta-jmeter/docs/running.html,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
1.1 jakarta-jmeter/docs/images/screenshots/duration_assertion.png
<<Binary file>>
1.1
jakarta-jmeter/docs/images/screenshots/function_helper_dialog.png
<<Binary file>>
1.1 jakarta-jmeter/docs/images/screenshots/mailer_vis.png
<<Binary file>>
1.19 +401 -68 jakarta-jmeter/docs/usermanual/component_reference.html
Index: component_reference.html
===================================================================
RCS file: /home/cvs/jakarta-jmeter/docs/usermanual/component_reference.html,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- component_reference.html 8 Aug 2002 15:53:29 -0000 1.18
+++ component_reference.html 9 Aug 2002 19:08:53 -0000 1.19
@@ -86,6 +86,7 @@
</ul>
<li><a href="#listeners">13.3 Listeners</a></li>
<ul>
+ <li><a href="#Mailer_Visualizer">Mailer
Visualizer</a></li>
<li><a href="#Graph_Full_Results">Graph Full
Results</a></li>
<li><a href="#Graph_Results">Graph
Results</a></li>
<li><a href="#Spline_Visualizer">Spline
Visualizer</a></li>
@@ -106,7 +107,8 @@
</ul>
<li><a href="#assertions">13.5 Assertions</a></li>
<ul>
- <li><a href="#Basic_Assertion">Basic
Assertion</a></li>
+ <li><a href="#Response_Assertion">Response
Assertion</a></li>
+ <li><a href="#Duration_Assertion">Duration
Assertion</a></li>
</ul>
<li><a href="#timers">13.6 Timers</a></li>
<ul>
@@ -125,6 +127,12 @@
<ul>
<li><a href="#SSL_Manager">SSL Manager</a></li>
</ul>
+ <li><a href="#functions">13.9 Functions</a></li>
+ <ul>
+ <li><a href="#Regex_Function">Regex
Function</a></li>
+ <li><a href="#Counter_Function">Counter
Function</a></li>
+ <li><a href="#Thread_Number_Function">Thread
Number Function</a></li>
+ </ul>
</ul>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#525D76">
@@ -148,8 +156,8 @@
Configuration
Element so you do not have to enter the same information for each FTP Request
Generative
Controller.
- <p><b>Control
Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/gen-controller/ftp-request.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/gen-controller/ftp-request.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -276,8 +284,8 @@
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/gen-controller/http-request.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/gen-controller/http-request.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -442,8 +450,8 @@
This way, you do not have to enter the same information for each JDBC Request
controller.
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/gen-controller/jdbc-request.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/gen-controller/jdbc-request.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -559,8 +567,8 @@
table below - as defined by your implementation. A simple example (SleepTest) is
provided.
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img src="../images/screenshots/java_request.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/java_request.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -613,8 +621,8 @@
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img src="../images/screenshots/soap_sampler.png"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/soap_sampler.png"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -677,8 +685,8 @@
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/logic-controller/interleave-controller.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/logic-controller/interleave-controller.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -851,8 +859,8 @@
count to three, JMeter will send a total of 2 * 3 = 6 HTTP Requests.
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/logic-controller/loop-controller.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/logic-controller/loop-controller.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -955,8 +963,8 @@
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/logic-controller/once-only-controller.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/logic-controller/once-only-controller.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -1019,8 +1027,8 @@
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/logic-controller/simple-controller.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/logic-controller/simple-controller.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -1088,8 +1096,7 @@
</table></p>
- <p><b>Control
Panel</b></p>
-
<p>
+
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
@@ -1123,13 +1130,123 @@
<table border="0" cellspacing="0" cellpadding="2">
<tr><td>
<font face="arial,helvetica,sanserif">
+ <a name="Mailer_Visualizer"><h3>13.3.1 Mailer
Visualizer</h3></a>
+ </font>
+ </td></tr>
+ <tr><td>
+
<p
>
+ The mailer visualizer
can be set up to send email if a test run receives too many
+failed responses from the server.
+ </p>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/mailer_vis.png"></div>
+
<p>
+ <b>Parameters</b>
+ <table border="1" cellspacing="0" cellpadding="2">
+ <tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
+ <tr>
+ <td>Name</td>
+ <td> Descriptive
name for this element that is shown in the tree.
+ </td>
+ <td>
+
No
+ </td>
+ </tr>
+ <tr>
+ <td>From</td>
+ <td> Email address
to send messages from.
+ </td>
+ <td>
+
Yes
+ </td>
+ </tr>
+ <tr>
+ <td>Addressie(s)</td>
+ <td> Email address
to send messages to.
+ </td>
+ <td>
+
Yes
+ </td>
+ </tr>
+ <tr>
+ <td>SMTP Host</td>
+ <td> IP address or
host name of SMTP (email redirector)
+ server.
+ </td>
+ <td>
+
No
+ </td>
+ </tr>
+ <tr>
+ <td>Failure Subject</td>
+ <td> Email subject
line for fail messages.
+ </td>
+ <td>
+
No
+ </td>
+ </tr>
+ <tr>
+ <td>Success Subject</td>
+ <td> Email subject
line for success messages.
+ </td>
+ <td>
+
No
+ </td>
+ </tr>
+ <tr>
+ <td>Failure Limit</td>
+ <td> Once this
number of failed responses are received, a failure
+ email is sent.
+ </td>
+ <td>
+
Yes
+ </td>
+ </tr>
+ <tr>
+ <td>Success Limit</td>
+ <td> Once this
number of successful responses are
+ received
+
<strong >
+ after previously
reaching the failure limit
+ </strong>
+ , a success
email
+ is sent. The mailer will thus only send out messages in a sequence of
failed-succeeded-failed-succeeded, etc.
+ </td>
+ <td>
+
Yes
+ </td>
+ </tr>
+ <tr>
+ <td>Test Mail</td>
+ <td> </td>
+ <td>
+
No
+ </td>
+ </tr>
+ <tr>
+ <td>Failures</td>
+ <td> A field that
keeps a running total of number
+ of failures so far received.
+ </td>
+ <td>
+
No
+ </td>
+ </tr>
+ </table>
+ </p>
+ </td></tr>
+ <tr><td><br/></td></tr>
+ </table>
+ <hr>
+
<table
border="0" cellspacing="0" cellpadding="2">
+ <tr><td>
+ <font face="arial,helvetica,sanserif">
<a name="Graph_Full_Results"><h3>13.3.2 Graph Full
Results</h3></a>
</font>
</td></tr>
<tr><td>
No Description
- <p><b>Control
Panel</b></p>
-
</td></tr>
+
</td></tr>
<tr><td><br/></td></tr>
</table>
<hr>
@@ -1145,8 +1262,8 @@
the right side of the graph, the current sample (black), the current average of all
samples(blue), and the
current standard deviation (red) are displayed in milliseconds.
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img src="../images/screenshots/graph_results.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/graph_results.gif"></div>
</td></tr>
<tr><td><br/></td></tr>
</table>
@@ -1164,8 +1281,8 @@
has 10 points, each representing 10% of the samples, and connected using spline
logic to show a single continuous line.
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img src="../images/screenshots/spline_visualizer.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/spline_visualizer.gif"></div>
</td></tr>
<tr><td><br/></td></tr>
</table>
@@ -1186,8 +1303,8 @@
that
are part of the test plan.
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img src="../images/screenshots/assertion_results.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/assertion_results.gif"></div>
<p><b>See Also:</b>
<ul>
<li> <a
href="../usermanual/component_reference.html#Basic_Assertion">Basic Assertion</a>
@@ -1201,15 +1318,15 @@
<table
border="0" cellspacing="0" cellpadding="2">
<tr><td>
<font face="arial,helvetica,sanserif">
- <a name="View_Result_Tree"><h3>13.3.8 View Result
Tree</h3></a>
+ <a name="View_Result_Tree"><h3>13.3.6 View Result
Tree</h3></a>
</font>
</td></tr>
<tr><td>
The View Results Tree shows a tree of
all sample responses, allowing you to view the
response for any sample. In addition to showing the response, you can see the time
it took to get
this response, and some response codes.
- <p><b>Control
Panel</b></p>
-
<div align="center"><img src="../images/screenshots/view_results_tree.png"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/view_results_tree.png"></div>
</td></tr>
<tr><td><br/></td></tr>
</table>
@@ -1255,8 +1372,8 @@
</table></p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/http-config/http-auth-manager.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/http-config/http-auth-manager.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -1408,8 +1525,8 @@
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/http-config/http-cookie-manager.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/http-config/http-cookie-manager.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -1496,8 +1613,8 @@
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img src="../images/screenshots/proxy_control.png"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/proxy_control.png"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -1652,8 +1769,8 @@
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/http-config/http-request-defaults.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/http-config/http-request-defaults.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -1743,8 +1860,8 @@
</font>
</td></tr>
<tr><td>
-
<p><b>Control Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/ftp-config/ftp-request-defaults.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/ftp-config/ftp-request-defaults.gif"></div>
</td></tr>
<tr><td><br/></td></tr>
</table>
@@ -1756,8 +1873,8 @@
</font>
</td></tr>
<tr><td>
-
<p><b>Control Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/jdbc-config/jdbc-db-conn-pool.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/jdbc-config/jdbc-db-conn-pool.gif"></div>
</td></tr>
<tr><td><br/></td></tr>
</table>
@@ -1769,8 +1886,8 @@
</font>
</td></tr>
<tr><td>
-
<p><b>Control Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/jdbc-config/jdbc-db-login.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/jdbc-config/jdbc-db-login.gif"></div>
</td></tr>
<tr><td><br/></td></tr>
</table>
@@ -1782,8 +1899,8 @@
</font>
</td></tr>
<tr><td>
-
<p><b>Control Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/jdbc-config/jdbc-sql-query.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/jdbc-config/jdbc-sql-query.gif"></div>
</td></tr>
<tr><td><br/></td></tr>
</table>
@@ -1800,8 +1917,8 @@
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/http-config/http-header-manager.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/http-config/http-header-manager.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -1913,20 +2030,20 @@
<table border="0" cellspacing="0" cellpadding="2">
<tr><td>
<font face="arial,helvetica,sanserif">
- <a name="Basic_Assertion"><h3>13.5.1 Basic Assertion</h3></a>
+ <a name="Response_Assertion"><h3>13.5.1 Response
Assertion</h3></a>
</font>
</td></tr>
<tr><td>
<p
>
- The assertion control
panel let's you add strings to be tested. These strings can
+ The response assertion
control panel let's you add strings to be tested. These strings can
be regular expressions. You can also choose whether the strings will be expected
to match the entire response, or if the response is only expected to contain the
strings. You can attach multiple assertions to any controller for additionaly
flexibility.
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img src="../images/screenshots/assertion/assertion.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/assertion/assertion.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -1999,6 +2116,47 @@
<tr><td><br/></td></tr>
</table>
<hr>
+
<table
border="0" cellspacing="0" cellpadding="2">
+ <tr><td>
+ <font face="arial,helvetica,sanserif">
+ <a name="Duration_Assertion"><h3>13.5.2 Duration
Assertion</h3></a>
+ </font>
+ </td></tr>
+ <tr><td>
+
<p
>
+ The Duration Assertion
tests that each response was received within a given amount
+of time. Any response that takes longer than the given number of milliseconds
(specified by the
+user) is marked as a failed response.
+ </p>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/duration_assertion.png"></div>
+
<p>
+ <b>Parameters</b>
+ <table border="1" cellspacing="0" cellpadding="2">
+ <tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
+ <tr>
+ <td>Name</td>
+ <td> Descriptive
name for this element that is shown in the tree.
+ </td>
+ <td>
+
No
+ </td>
+ </tr>
+ <tr>
+ <td>Duration in Milliseconds</td>
+ <td> The maximum
number of milliseconds
+ each response is allowed before being marked as failed.
+ </td>
+ <td>
+
Yes
+ </td>
+ </tr>
+ </table>
+ </p>
+ </td></tr>
+ <tr><td><br/></td></tr>
+ </table>
+ <hr>
</blockquote>
</p>
</td></tr>
@@ -2025,8 +2183,8 @@
If you want to have
each thread pause for the same amount of time between
requests, use this timer.
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img src="../images/screenshots/timers/constant_timer.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/timers/constant_timer.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -2066,8 +2224,8 @@
sum of the Gaussian distributed value (with mean 0.0 and standard deviation 1.0)
times
the deviation value you specify, and the offset value.
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/timers/gauss_random_timer.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/timers/gauss_random_timer.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -2115,8 +2273,8 @@
each time interval having the same probability of occurring. The total delay
is the sum of the random value and the offset value.
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img
src="../images/screenshots/timers/uniform_random_timer.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/timers/uniform_random_timer.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -2185,8 +2343,7 @@
</p>
- <p><b>Control
Panel</b></p>
-
<a name="spider_example"/>
+
<a name="spider_example"/>
<p><b>Spidering Example</b></p>
@@ -2277,8 +2434,8 @@
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img src="../images/screenshots/url_rewriter.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/url_rewriter.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -2356,8 +2513,8 @@
user_4, etc.
</p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img src="../images/screenshots/parameter_mask.png"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/parameter_mask.png"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -2449,8 +2606,8 @@
any other thread
</td></tr>
</table></p>
- <p><b>Control
Panel</b></p>
-
<div align="center"><img src="../images/screenshots/user_param_modifier.gif"></div>
+
<p><b>Control Panel</b></p>
+ <div align="center"><img
src="../images/screenshots/user_param_modifier.gif"></div>
<p>
<b>Parameters</b>
<table border="1" cellspacing="0" cellpadding="2">
@@ -2563,6 +2720,182 @@
</p>
</td></tr>
+ <tr><td><br/></td></tr>
+ </table>
+ <hr>
+ </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="functions"><strong>13.9 Functions</strong></a>
+ </font>
+ </td></tr>
+ <tr><td>
+ <blockquote>
+
<p >
+ Please read the
+
<a href="functions.html">
+ general description
+ </a>
+ of how
functions work. Here is given only the details of
+specific functions.
+ </p>
+
<table
border="0" cellspacing="0" cellpadding="2">
+ <tr><td>
+ <font face="arial,helvetica,sanserif">
+ <a name="Regex_Function"><h3>13.9.1 Regex Function</h3></a>
+ </font>
+ </td></tr>
+ <tr><td>
+
<p
>
+ The Regex Function is
used to parse the previous response using any regular
+expression (provided by user). The function returns the template string with
variable values filled
+in.
+ </p>
+
<p>
+ <b>Parameters</b>
+ <table border="1" cellspacing="0" cellpadding="2">
+ <tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
+ <tr>
+ <td>First arguement</td>
+ <td> The first
argument is the regular expression
+ to be applied to the response data. It will grab all matches. Any parts of
this expression
+ that you wish to use in your template string, be sure to surround in
parentheses. Example:
+ <a href="(.*)">. This will grab the value of the link and store it as
the first group (there is
+ only 1 group). Another example: <input type="hidden" name="(.*)"
value="(.*)">. This will
+ grab the name as the first group, and the value as the second group. These
values can be used
+ in your template string
+ </td>
+ <td>
+
Yes
+ </td>
+ </tr>
+ <tr>
+ <td>Second argument</td>
+ <td> This is the
template string that will replace
+ the function at run-time. To refer to a group captured in the regular
expression, use the syntax:
+ $[group_number]$. Ie: $1$, or $2$. Your template can be any string.
+ </td>
+ <td>
+
Yes
+ </td>
+ </tr>
+ <tr>
+ <td>Third argument</td>
+ <td> The third
argument tells JMeter which match
+ to use. Your regular expression might find numerous matches. You have four
choices:
+
+
<ul >
+
<li >
+ An integer - Tells
JMeter to use that match. '1' for the first found match, '2' for the
+ second, and so on
+ </li>
+
+
+
<li >
+ RAND - Tells JMeter to
choose a match at random.
+ </li>
+
+
+
<li >
+ ALL - Tells JMeter to
use all matches, and create a template string for each one and then
+ append them all together. This option is little used.
+ </li>
+
+
+
<li >
+ A float number between
0 and 1 - tells JMeter to find the Xth match using the formula:
+ (number_of_matches_found * float_number) rounded to nearest integer.
+ </li>
+
+
+ </ul>
+ </td>
+ <td>
+
Yes
+ </td>
+ </tr>
+ <tr>
+ <td>Fourth argument</td>
+ <td> If 'ALL' was
selected for the above argument
+ value, then this argument will be inserted between each appended copy of the
template value.
+ </td>
+ <td>
+
No
+ </td>
+ </tr>
+ <tr>
+ <td>Fifth argument</td>
+ <td> Default value
returned if no match is found
+ </td>
+ <td>
+
No
+ </td>
+ </tr>
+ </table>
+ </p>
+ </td></tr>
+ <tr><td><br/></td></tr>
+ </table>
+ <hr>
+
<table
border="0" cellspacing="0" cellpadding="2">
+ <tr><td>
+ <font face="arial,helvetica,sanserif">
+ <a name="Counter_Function"><h3>13.9.2 Counter
Function</h3></a>
+ </font>
+ </td></tr>
+ <tr><td>
+
<p
>
+ The counter generates
a new number each time it is called, starting with 1
+and incrementing by +1 each time. The counter can be configured to keep each
simulated user's values
+separate, or to use the same counter for all user. If each user's values is
incremented separately,
+that is like counting the number of iterations through the test plan. A global
counter is like
+counting how many times that request was run.
+ </p>
+
<p>
+ <b>Parameters</b>
+ <table border="1" cellspacing="0" cellpadding="2">
+ <tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
+ <tr>
+ <td>First argument</td>
+ <td> TRUE if you
wish each simulated user's counter
+ to be kept independent and separate from the other users. FALSE for a global
counter.
+ </td>
+ <td>
+
Yes
+ </td>
+ </tr>
+ </table>
+ </p>
+ </td></tr>
+ <tr><td><br/></td></tr>
+ </table>
+ <hr>
+
<table
border="0" cellspacing="0" cellpadding="2">
+ <tr><td>
+ <font face="arial,helvetica,sanserif">
+ <a name="Thread_Number_Function"><h3>13.9.3 Thread Number
Function</h3></a>
+ </font>
+ </td></tr>
+ <tr><td>
+
<p
>
+ The thread number
function simply returns the number of the thread currently
+being executed. These numbers are independent of ThreadGroup, meaning thread #1 in
one threadgroup
+is indistinguishable from thread #1 in another threadgroup, from the point of view
of this function.
+ </p>
+
+
+
+
<p >
+ There are no arguments
for this function.
+ </p>
+
+
+
</td></tr>
<tr><td><br/></td></tr>
</table>
<hr>
1.5 +28 -0 jakarta-jmeter/docs/usermanual/functions.html
Index: functions.html
===================================================================
RCS file: /home/cvs/jakarta-jmeter/docs/usermanual/functions.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- functions.html 6 Aug 2002 18:55:23 -0000 1.4
+++ functions.html 9 Aug 2002 19:08:53 -0000 1.5
@@ -191,6 +191,34 @@
</td></tr>
<tr><td><br/></td></tr>
</table>
+
<table
border="0" cellspacing="0" cellpadding="2" width="100%">
+ <tr><td bgcolor="#828DA6">
+ <font color="#ffffff" face="arial,helvetica,sanserif">
+ <a name="function_helper"><strong>14.4 The Function Helper
Dialog</strong></a>
+ </font>
+ </td></tr>
+ <tr><td>
+ <blockquote>
+
<p >
+ The Function Helper
dialog is available from JMeter's Tools menu.
+ </p>
+
<p><table
border="0" cellspacing="0" cellpadding="0"><tr><td><img
src="../images/screenshots/function_helper_dialog.png"><br/>
+ <font size="-1"> Function
Helper Dialog
+ </font></td></tr></table></p>
+
<p >
+ Using the Function
Helper, you can select a function from the pull down, and assign
+values for its arguments. The left column in the table provides a brief
description of the
+argument, and the right column is where you write in the value for that argument.
Different
+functions take different arguments.
+ </p>
+
<p >
+ Once you have done
this, click the "generate" button, and the appropriate string is generated
+for you to copy-paste into your test plan wherever you like.
+ </p>
+ </blockquote>
+ </td></tr>
+ <tr><td><br/></td></tr>
+ </table>
</blockquote>
</p>
</td></tr>
1.2 +2 -2
jakarta-jmeter/src_1/org/apache/jmeter/functions/IterationCounter.java
Index: IterationCounter.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/functions/IterationCounter.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- IterationCounter.java 30 Jul 2002 03:02:09 -0000 1.1
+++ IterationCounter.java 9 Aug 2002 19:08:53 -0000 1.2
@@ -34,7 +34,7 @@
public IterationCounter()
{
- counter = 0;
+ counter = 1;
}
public Object clone()
@@ -79,7 +79,7 @@
* @see org.apache.jmeter.functions.Function#getArgumentDesc()
*/
public List getArgumentDesc() {
- return new LinkedList();
+ return desc;
}
/**
1.32 +1 -1
jakarta-jmeter/src_1/org/apache/jmeter/resources/messages.properties
Index: messages.properties
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/resources/messages.properties,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- messages.properties 9 Aug 2002 17:20:57 -0000 1.31
+++ messages.properties 9 Aug 2002 19:08:53 -0000 1.32
@@ -257,7 +257,7 @@
soap_data_title=Soap/XML-RPC Data
user_defined_variables=User Defined Variables
regexfunc_param_1=Regular expression used to search results from previous request
-regexfunc_param_2=Template for the replacement string, using groups from the
regular expression
+regexfunc_param_2=Template for the replacement string, using groups from the
regular expression. Format is $[group]$. Example $1$.
regexfunc_param_3=Which match to use. An integer 1 or greater, RAND to indicate
JMeter should randomly choose, A float, or ALL indicating all matches should be used
regexfunc_param_4=Between text. If ALL is selected, the between text will be used
to generate the results
regexfunc_param_5=Default text. Used instead of the template if the regular
expression finds no matches
1.2 +1 -1
jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_de.properties
Index: messages_de.properties
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_de.properties,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- messages_de.properties 9 Aug 2002 17:20:57 -0000 1.1
+++ messages_de.properties 9 Aug 2002 19:08:53 -0000 1.2
@@ -257,7 +257,7 @@
soap_data_title=Soap/XML-RPC Data
user_defined_variables=Benutzer definierte Variablen
regexfunc_param_1=Regul�re Ausdr�cke zum suchen in den Resultsder vorherigen
Requests
-regexfunc_param_2=Beispiel f�r Ersetzungs Strings, benuzte Gruppen von den
regul�ren Ausdr�cken
+regexfunc_param_2=Beispiel f�r Ersetzungs Strings, benuzte Gruppen von den
regul�ren Ausdr�cken. Format is $[group]$. Example $1$.
regexfunc_param_3=Which match to use. An integer 1 or greater, RAND to indicate
JMeter should randomly choose, A float, or ALL indicating all matches should be used
regexfunc_param_4=Between text. If ALL is selected, the between text will be used
to generate the results
regexfunc_param_5=Default text. Used instead of the template if the regular
expression finds no matches
1.30 +1 -1
jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_ja.properties
Index: messages_ja.properties
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_ja.properties,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- messages_ja.properties 8 Aug 2002 15:53:29 -0000 1.29
+++ messages_ja.properties 9 Aug 2002 19:08:53 -0000 1.30
@@ -252,7 +252,7 @@
soap_data_title=Soap/XML-RPC Data
user_defined_variables=User Defined Variables
regexfunc_param_1=Regular expression used to search results from previous request
-regexfunc_param_2=Template for the replacement string, using groups from the
regular expression
+regexfunc_param_2=Template for the replacement string, using groups from the
regular expression. Format is $[group]$. Example $1$.
regexfunc_param_3=Which match to use. An integer 1 or greater, RAND to indicate
JMeter should randomly choose, A float, or ALL indicating all matches should be used
regexfunc_param_4=Between text. If ALL is selected, the between text will be used
to generate the results
regexfunc_param_5=Default text. Used instead of the template if the regular
expression finds no matches
1.29 +1 -1
jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_no.properties
Index: messages_no.properties
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/resources/messages_no.properties,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- messages_no.properties 8 Aug 2002 15:53:29 -0000 1.28
+++ messages_no.properties 9 Aug 2002 19:08:53 -0000 1.29
@@ -244,7 +244,7 @@
soap_data_title=Soap/XML-RPC Data
user_defined_variables=User Defined Variables
regexfunc_param_1=Regular expression used to search results from previous request
-regexfunc_param_2=Template for the replacement string, using groups from the
regular expression
+regexfunc_param_2=Template for the replacement string, using groups from the
regular expression. Format is $[group]$. Example $1$.
regexfunc_param_3=Which match to use. An integer 1 or greater, RAND to indicate
JMeter should randomly choose, A float, or ALL indicating all matches should be used
regexfunc_param_4=Between text. If ALL is selected, the between text will be used
to generate the results
regexfunc_param_5=Default text. Used instead of the template if the regular
expression finds no matches
1.12 +2 -2 jakarta-jmeter/xdocs/stylesheets/site.vsl
Index: site.vsl
===================================================================
RCS file: /home/cvs/jakarta-jmeter/xdocs/stylesheets/site.vsl,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- site.vsl 30 Apr 2002 02:41:32 -0000 1.11
+++ site.vsl 9 Aug 2002 19:08:55 -0000 1.12
@@ -252,8 +252,8 @@
#foreach ( $c_items in $component.getChildren() )
#if ($c_items.getName().equals("description"))
#runloop($c_items)
- <p><b>Control Panel</b></p>
- #if ($screenshot != "")
+ #if ($screenshot != "")
+ <p><b>Control Panel</b></p>
<div align="center"><img
src="$screenshot"></div>
#end
#else
1.19 +98 -4 jakarta-jmeter/xdocs/usermanual/component_reference.xml
Index: component_reference.xml
===================================================================
RCS file: /home/cvs/jakarta-jmeter/xdocs/usermanual/component_reference.xml,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- component_reference.xml 8 Aug 2002 15:53:30 -0000 1.18
+++ component_reference.xml 9 Aug 2002 19:08:55 -0000 1.19
@@ -356,7 +356,28 @@
</section>
<section name="13.3 Listeners" anchor="listeners">
-
+<component index="13.3.1" name="Mailer Visualizer"
screenshot="../images/screenshots/mailer_vis.png">
+<description><p>The mailer visualizer can be set up to send email if a test run
receives too many
+failed responses from the server.</p></description>
+
+<properties>
+ <property name="Name" required="No">Descriptive name for this element that is
shown in the tree.</property>
+ <property name="From" required="Yes">Email address to send messages
from.</property>
+ <property name="Addressie(s)" required="Yes">Email address to send messages
to.</property>
+ <property name="SMTP Host" required="No">IP address or host name of SMTP
(email redirector)
+ server.</property>
+ <property name="Failure Subject" required="No">Email subject line for fail
messages.</property>
+ <property name="Success Subject" required="No">Email subject line for success
messages.</property>
+ <property name="Failure Limit" required="Yes">Once this number of failed
responses are received, a failure
+ email is sent.</property>
+ <property name="Success Limit" required="Yes">Once this number of successful
responses are
+ received <strong>after previously reaching the failure limit</strong>, a
success email
+ is sent. The mailer will thus only send out messages in a sequence of
failed-succeeded-failed-succeeded, etc.</property>
+ <property name="Test Mail" required="No"></property>
+ <property name="Failures" required="No">A field that keeps a running total of
number
+ of failures so far received.</property>
+</properties>
+</component>
<component index="13.3.2" name="Graph Full Results" screenshot="">
<description>No Description</description>
@@ -385,7 +406,7 @@
</links>
</component>
-<component index="13.3.8" name="View Result Tree"
screenshot="../images/screenshots/view_results_tree.png">
+<component index="13.3.6" name="View Result Tree"
screenshot="../images/screenshots/view_results_tree.png">
<description>The View Results Tree shows a tree of all sample responses, allowing
you to view the
response for any sample. In addition to showing the response, you can see the time
it took to get
this response, and some response codes.</description>
@@ -621,9 +642,9 @@
<section name="13.5 Assertions" anchor="assertions">
-<component index="13.5.1" name="Basic Assertion" anchor="basic_assertion"
screenshot="../images/screenshots/assertion/assertion.gif">
+<component index="13.5.1" name="Response Assertion" anchor="basic_assertion"
screenshot="../images/screenshots/assertion/assertion.gif">
-<description><p>The assertion control panel let's you add strings to be tested.
These strings can
+<description><p>The response assertion control panel let's you add strings to be
tested. These strings can
be regular expressions. You can also choose whether the strings will be expected
to match the entire response, or if the response is only expected to contain the
strings. You can attach multiple assertions to any controller for additionaly
flexibility.</p>
@@ -651,6 +672,19 @@
</component>
+<component index="13.5.2" name="Duration Assertion"
screenshot="../images/screenshots/duration_assertion.png">
+<description><p>The Duration Assertion tests that each response was received within
a given amount
+of time. Any response that takes longer than the given number of milliseconds
(specified by the
+user) is marked as a failed response.</p></description>
+
+<properties>
+<property name="Name" required="">Descriptive name for this element that is shown
in the tree.</property>
+ <property name="Duration in Milliseconds" required="Yes">The maximum number of
milliseconds
+ each response is allowed before being marked as failed.</property>
+
+</properties>
+</component>
+
</section>
<section name="13.6 Timers" anchor="timers">
@@ -874,6 +908,66 @@
installed.
</p>
</component>
+</section>
+
+<section name="13.9 Functions" anchor="functions">
+<p>Please read the <a href="functions.html">general description</a> of how
functions work. Here is given only the details of
+specific functions.</p>
+
+<component index="13.9.1" name="Regex Function">
+<description><p>The Regex Function is used to parse the previous response using any
regular
+expression (provided by user). The function returns the template string with
variable values filled
+in.</p></description>
+
+<properties>
+ <property name="First arguement" required="Yes">The first argument is the
regular expression
+ to be applied to the response data. It will grab all matches. Any parts of
this expression
+ that you wish to use in your template string, be sure to surround in
parentheses. Example:
+ &lt;a href="(.*)"&gt;. This will grab the value of the link and store
it as the first group (there is
+ only 1 group). Another example: &lt;input type="hidden" name="(.*)"
value="(.*)"&gt;. This will
+ grab the name as the first group, and the value as the second group. These
values can be used
+ in your template string</property>
+ <property name="Second argument" required="Yes">This is the template string
that will replace
+ the function at run-time. To refer to a group captured in the regular
expression, use the syntax:
+ $[group_number]$. Ie: $1$, or $2$. Your template can be any
string.</property>
+ <property name="Third argument" required="Yes">The third argument tells JMeter
which match
+ to use. Your regular expression might find numerous matches. You have four
choices:
+ <ul><li>An integer - Tells JMeter to use that match. '1' for the
first found match, '2' for the
+ second, and so on</li>
+ <li>RAND - Tells JMeter to choose a match at random.</li>
+ <li>ALL - Tells JMeter to use all matches, and create a template
string for each one and then
+ append them all together. This option is little used.</li>
+ <li>A float number between 0 and 1 - tells JMeter to find the Xth
match using the formula:
+ (number_of_matches_found * float_number) rounded to nearest
integer.</li>
+ </ul></property>
+ <property name="Fourth argument" required="No">If 'ALL' was selected for the
above argument
+ value, then this argument will be inserted between each appended copy of the
template value.</property>
+ <property name="Fifth argument" required="No">Default value returned if no
match is found</property>
+</properties>
+</component>
+
+<component index="13.9.2" name="Counter Function">
+<description><p>The counter generates a new number each time it is called, starting
with 1
+and incrementing by +1 each time. The counter can be configured to keep each
simulated user's values
+separate, or to use the same counter for all user. If each user's values is
incremented separately,
+that is like counting the number of iterations through the test plan. A global
counter is like
+counting how many times that request was run.</p></description>
+
+<properties>
+ <property name="First argument" required="Yes">TRUE if you wish each simulated
user's counter
+ to be kept independent and separate from the other users. FALSE for a global
counter.</property>
+</properties>
+</component>
+
+<component index="13.9.3" name="Thread Number Function">
+<description><p>The thread number function simply returns the number of the thread
currently
+being executed. These numbers are independent of ThreadGroup, meaning thread #1 in
one threadgroup
+is indistinguishable from thread #1 in another threadgroup, from the point of view
of this function.</p>
+
+<p>There are no arguments for this function.</p>
+</description>
+</component>
+
</section>
</body>
</document>
1.2 +11 -0 jakarta-jmeter/xdocs/usermanual/functions.xml
Index: functions.xml
===================================================================
RCS file: /home/cvs/jakarta-jmeter/xdocs/usermanual/functions.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- functions.xml 13 Jul 2002 03:17:49 -0000 1.1
+++ functions.xml 9 Aug 2002 19:08:55 -0000 1.2
@@ -59,6 +59,17 @@
variable will override the built-in function.</note>
</subsection>
+<subsection name="14.4 The Function Helper Dialog" anchor="function_helper">
+<p>The Function Helper dialog is available from JMeter's Tools menu.</p>
+<figure image="../images/screenshots/function_helper_dialog.png">Function Helper
Dialog</figure>
+<p>Using the Function Helper, you can select a function from the pull down, and
assign
+values for its arguments. The left column in the table provides a brief
description of the
+argument, and the right column is where you write in the value for that argument.
Different
+functions take different arguments.</p>
+<p>Once you have done this, click the "generate" button, and the appropriate string
is generated
+for you to copy-paste into your test plan wherever you like.</p>
+</subsection>
+
</section>
</body>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>