Modified: jmeter/trunk/docs/usermanual/component_reference.html
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/docs/usermanual/component_reference.html?rev=1664961&r1=1664960&r2=1664961&view=diff
==============================================================================
--- jmeter/trunk/docs/usermanual/component_reference.html (original)
+++ jmeter/trunk/docs/usermanual/component_reference.html Sun Mar  8 10:22:58 
2015
@@ -1,1332 +1,346 @@
-<!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 -->
-<html>
-<head>
-<link rel="stylesheet" type="text/css" href="../css/style.css"/>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
-
-<title>Apache JMeter - User's Manual: Component Reference</title>
-</head>
-
-<body bgcolor="#ffffff" text="#000000" link="#525D76">
-<table width="100%" cellspacing="0" border="0">
-<tr>
-<td width="90%" align="left">
-<table border="0" cellspacing="0">
-<tr>
-<td width="10%">
-<a href="http://www.apache.org";><img title="Apache Software Foundation" 
width="290" height="75" src="../images/asf-logo.png" border="0"/></a>
-</td>
-<td align="left" width="40%">
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-<a href="http://jmeter.apache.org/";><img width="182" height="88" 
src="../images/logo.jpg" alt="Apache JMeter" title="Apache JMeter" 
border="0"/></a>
-</td>
-</tr>
-</table>
-</td>
-<td align="left" width="50%">
-<table cellspacing="0" align="right" border="0">
-<tr>
-<td align="left"> <a href="https://twitter.com/share";
-class="twitter-share-button"
-data-text="Powerful Load Testing with
-Apache #JMeter" data-via="ApacheJMeter"
-data-lang="en-gb" data-size="large">Tweet</a>
-<script>!function(d,s,id){var 
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
 'script', 'twitter-wjs');</script>
-</td>
-<td align="right"> <a
-href="https://twitter.com/ApacheJMeter";
-class="twitter-follow-button"
-data-show-count="false" data-lang="en-gb"
-data-size="large">Follow</a>
-<script>!function(d,s,id){var 
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,
 'script', 'twitter-wjs');</script>
-</td>
-</tr>
-</table>
-</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">
-<table border="0" width="100%" cellspacing="0">
-<tr><td>
-<p><strong>About</strong></p>
-<ul>
-<li><a href="../index.html">Overview</a>
-</li>
-<li><a href="http://twitter.com/ApacheJMeter";>JMeter on Twitter</a>
-<img src="../images/twitter.png" align="top"/></li>
-<li><a href="../issues.html">Issue Tracking</a>
-</li>
-<li><a href="http://projects.apache.org/feeds/rss/jmeter.xml";>Subscribe to 
What's New</a>
-</li>
-<li><a href="http://www.apache.org/licenses/";>License</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="../changes.html">Changes per version</a>
-</li>
-<li><a href="../usermanual/get-started.html">Get Started</a>
-</li>
-<li><a href="../usermanual/index.html">User Manual</a>
-</li>
-<li><a href="../usermanual/best-practices.html">Best Practices</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="../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://wiki.apache.org/jmeter/JMeterCommitters";>Contributors</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/getinvolved.html";>Get Involved 
in the 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></tr>
-<tr><td>
-<iframe src="http://www.apache.org/ads/button.html"; style="border-width:0; 
float: left;" frameborder="0" scrolling="no"></iframe>
-</td></tr>
-</table>
-</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="functions.html"><font size=-1 color="#ffffff" 
face="arial,helvetica,sanserif">Next</font></a></div>
-</td>
-<td bgcolor="#525D76">
-<div align="right"><a href="boss.html"><font size=-1 color="#ffffff" 
face="arial,helvetica,sanserif">Prev</font></a></div>
-</td>
-</tr>
-</table>
-<br>
-<ul>
-<li><a href="#introduction">18.0 Introduction</a></li>
-<ul>
-</ul>
-<li><a href="#samplers">18.1 Samplers</a></li>
-<ul>
-<li><a href="#FTP_Request">FTP Request</a></li>
-<li><a href="#HTTP_Request">HTTP Request</a></li>
-<li><a href="#JDBC_Request">JDBC Request</a></li>
-<li><a href="#Java_Request">Java Request</a></li>
-<li><a href="#SOAP/XML-RPC_Request">SOAP/XML-RPC Request</a></li>
-<li><a href="#WebService(SOAP)_Request_(DEPRECATED)">WebService(SOAP) Request 
(DEPRECATED)</a></li>
-<li><a href="#LDAP_Request">LDAP Request</a></li>
-<li><a href="#LDAP_Extended_Request">LDAP Extended Request</a></li>
-<li><a href="#Access_Log_Sampler">Access Log Sampler</a></li>
-<li><a href="#BeanShell_Sampler">BeanShell Sampler</a></li>
-<li><a href="#BSF_Sampler">BSF Sampler</a></li>
-<li><a href="#JSR223_Sampler">JSR223 Sampler</a></li>
-<li><a href="#TCP_Sampler">TCP Sampler</a></li>
-<li><a href="#JMS_Publisher">JMS Publisher</a></li>
-<li><a href="#JMS_Subscriber">JMS Subscriber</a></li>
-<li><a href="#JMS_Point-to-Point">JMS Point-to-Point</a></li>
-<li><a href="#JUnit_Request">JUnit Request</a></li>
-<li><a href="#Mail_Reader_Sampler">Mail Reader Sampler</a></li>
-<li><a href="#Test_Action">Test Action</a></li>
-<li><a href="#SMTP_Sampler">SMTP Sampler</a></li>
-<li><a href="#OS_Process_Sampler">OS Process Sampler</a></li>
-<li><a href="#MongoDB_Script">MongoDB Script</a></li>
-</ul>
-<li><a href="#logic_controllers">18.2 Logic Controllers</a></li>
-<ul>
-<li><a href="#Simple_Controller">Simple Controller</a></li>
-<li><a href="#Loop_Controller">Loop Controller</a></li>
-<li><a href="#Once_Only_Controller">Once Only Controller</a></li>
-<li><a href="#Interleave_Controller">Interleave Controller</a></li>
-<li><a href="#Random_Controller">Random Controller</a></li>
-<li><a href="#Random_Order_Controller">Random Order Controller</a></li>
-<li><a href="#Throughput_Controller">Throughput Controller</a></li>
-<li><a href="#Runtime_Controller">Runtime Controller</a></li>
-<li><a href="#If_Controller">If Controller</a></li>
-<li><a href="#While_Controller">While Controller</a></li>
-<li><a href="#Switch_Controller">Switch Controller</a></li>
-<li><a href="#ForEach_Controller">ForEach Controller</a></li>
-<li><a href="#Module_Controller">Module Controller</a></li>
-<li><a href="#Include_Controller">Include Controller</a></li>
-<li><a href="#Transaction_Controller">Transaction Controller</a></li>
-<li><a href="#Recording_Controller">Recording Controller</a></li>
-<li><a href="#Critical_Section_Controller">Critical Section Controller</a></li>
-</ul>
-<li><a href="#listeners">18.3 Listeners</a></li>
-<ul>
-<li><a href="#Sample_Result_Save_Configuration">Sample Result Save 
Configuration</a></li>
-<li><a href="#Graph_Results">Graph Results</a></li>
-<li><a href="#Spline_Visualizer">Spline Visualizer</a></li>
-<li><a href="#Assertion_Results">Assertion Results</a></li>
-<li><a href="#View_Results_Tree">View Results Tree</a></li>
-<li><a href="#Aggregate_Report">Aggregate Report</a></li>
-<li><a href="#View_Results_in_Table">View Results in Table</a></li>
-<li><a href="#Simple_Data_Writer">Simple Data Writer</a></li>
-<li><a href="#Monitor_Results">Monitor Results</a></li>
-<li><a href="#Distribution_Graph_(alpha)">Distribution Graph (alpha)</a></li>
-<li><a href="#Aggregate_Graph">Aggregate Graph</a></li>
-<li><a href="#Response_Time_Graph">Response Time Graph</a></li>
-<li><a href="#Mailer_Visualizer">Mailer Visualizer</a></li>
-<li><a href="#BeanShell_Listener">BeanShell Listener</a></li>
-<li><a href="#Summary_Report">Summary Report</a></li>
-<li><a href="#Save_Responses_to_a_file">Save Responses to a file</a></li>
-<li><a href="#BSF_Listener">BSF Listener</a></li>
-<li><a href="#JSR223_Listener">JSR223 Listener</a></li>
-<li><a href="#Generate_Summary_Results">Generate Summary Results</a></li>
-<li><a href="#Comparison_Assertion_Visualizer">Comparison Assertion 
Visualizer</a></li>
-<li><a href="#Backend_Listener">Backend Listener</a></li>
-</ul>
-<li><a href="#config_elements">18.4 Configuration Elements</a></li>
-<ul>
-<li><a href="#CSV_Data_Set_Config">CSV Data Set Config</a></li>
-<li><a href="#FTP_Request_Defaults">FTP Request Defaults</a></li>
-<li><a href="#DNS_Cache_Manager">DNS Cache Manager</a></li>
-<li><a href="#HTTP_Authorization_Manager">HTTP Authorization Manager</a></li>
-<li><a href="#HTTP_Cache_Manager">HTTP Cache Manager</a></li>
-<li><a href="#HTTP_Cookie_Manager">HTTP Cookie Manager</a></li>
-<li><a href="#HTTP_Request_Defaults">HTTP Request Defaults</a></li>
-<li><a href="#HTTP_Header_Manager">HTTP Header Manager</a></li>
-<li><a href="#Java_Request_Defaults">Java Request Defaults</a></li>
-<li><a href="#JDBC_Connection_Configuration">JDBC Connection 
Configuration</a></li>
-<li><a href="#Keystore_Configuration">Keystore Configuration</a></li>
-<li><a href="#Login_Config_Element">Login Config Element</a></li>
-<li><a href="#LDAP_Request_Defaults">LDAP Request Defaults</a></li>
-<li><a href="#LDAP_Extended_Request_Defaults">LDAP Extended Request 
Defaults</a></li>
-<li><a href="#TCP_Sampler_Config">TCP Sampler Config</a></li>
-<li><a href="#User_Defined_Variables">User Defined Variables</a></li>
-<li><a href="#Random_Variable">Random Variable</a></li>
-<li><a href="#Counter">Counter</a></li>
-<li><a href="#Simple_Config_Element">Simple Config Element</a></li>
-<li><a href="#MongoDB_Source_Config">MongoDB Source Config</a></li>
-</ul>
-<li><a href="#assertions">18.5 Assertions</a></li>
-<ul>
-<li><a href="#Response_Assertion">Response Assertion</a></li>
-<li><a href="#Duration_Assertion">Duration Assertion</a></li>
-<li><a href="#Size_Assertion">Size Assertion</a></li>
-<li><a href="#XML_Assertion">XML Assertion</a></li>
-<li><a href="#BeanShell_Assertion">BeanShell Assertion</a></li>
-<li><a href="#MD5Hex_Assertion">MD5Hex Assertion</a></li>
-<li><a href="#HTML_Assertion">HTML Assertion</a></li>
-<li><a href="#XPath_Assertion">XPath Assertion</a></li>
-<li><a href="#XML_Schema_Assertion">XML Schema Assertion</a></li>
-<li><a href="#BSF_Assertion">BSF Assertion</a></li>
-<li><a href="#JSR223_Assertion">JSR223 Assertion</a></li>
-<li><a href="#Compare_Assertion">Compare Assertion</a></li>
-<li><a href="#SMIME_Assertion">SMIME Assertion</a></li>
-</ul>
-<li><a href="#timers">18.6 Timers</a></li>
-<ul>
-<li><a href="#Constant_Timer">Constant Timer</a></li>
-<li><a href="#Gaussian_Random_Timer">Gaussian Random Timer</a></li>
-<li><a href="#Uniform_Random_Timer">Uniform Random Timer</a></li>
-<li><a href="#Constant_Throughput_Timer">Constant Throughput Timer</a></li>
-<li><a href="#Synchronizing_Timer">Synchronizing Timer</a></li>
-<li><a href="#BeanShell_Timer">BeanShell Timer</a></li>
-<li><a href="#BSF_Timer">BSF Timer</a></li>
-<li><a href="#JSR223_Timer">JSR223 Timer</a></li>
-<li><a href="#Poisson_Random_Timer">Poisson Random Timer</a></li>
-</ul>
-<li><a href="#preprocessors">18.7 Pre Processors</a></li>
-<ul>
-<li><a href="#HTML_Link_Parser">HTML Link Parser</a></li>
-<li><a href="#HTTP_URL_Re-writing_Modifier">HTTP URL Re-writing 
Modifier</a></li>
-<li><a href="#HTML_Parameter_Mask_(DEPRECATED)">HTML Parameter Mask 
(DEPRECATED)</a></li>
-<li><a href="#User_Parameters">User Parameters</a></li>
-<li><a href="#BeanShell_PreProcessor">BeanShell PreProcessor</a></li>
-<li><a href="#BSF_PreProcessor">BSF PreProcessor</a></li>
-<li><a href="#JSR223_PreProcessor">JSR223 PreProcessor</a></li>
-<li><a href="#JDBC_PreProcessor">JDBC PreProcessor</a></li>
-<li><a href="#RegEx_User_Parameters">RegEx User Parameters</a></li>
-</ul>
-<li><a href="#postprocessors">18.8 Post-Processors</a></li>
-<ul>
-<li><a href="#Regular_Expression_Extractor">Regular Expression 
Extractor</a></li>
-<li><a href="#CSS/JQuery_Extractor">CSS/JQuery Extractor</a></li>
-<li><a href="#XPath_Extractor">XPath Extractor</a></li>
-<li><a href="#Result_Status_Action_Handler">Result Status Action 
Handler</a></li>
-<li><a href="#BeanShell_PostProcessor">BeanShell PostProcessor</a></li>
-<li><a href="#BSF_PostProcessor">BSF PostProcessor</a></li>
-<li><a href="#JSR223_PostProcessor">JSR223 PostProcessor</a></li>
-<li><a href="#JDBC_PostProcessor">JDBC PostProcessor</a></li>
-</ul>
-<li><a href="#Miscellaneous_Features">18.9 Miscellaneous Features</a></li>
-<ul>
-<li><a href="#Test_Plan">Test Plan</a></li>
-<li><a href="#Thread_Group">Thread Group</a></li>
-<li><a href="#WorkBench">WorkBench</a></li>
-<li><a href="#SSL_Manager">SSL Manager</a></li>
-<li><a href="#HTTP(S)_Test_Script_Recorder">HTTP(S) Test Script Recorder (was: 
HTTP Proxy Server)</a></li>
-<li><a href="#HTTP_Mirror_Server">HTTP Mirror Server</a></li>
-<li><a href="#Property_Display">Property Display</a></li>
-<li><a href="#Debug_Sampler">Debug Sampler</a></li>
-<li><a href="#Debug_PostProcessor">Debug PostProcessor</a></li>
-<li><a href="#Test_Fragment">Test Fragment</a></li>
-<li><a href="#setUp_Thread_Group">setUp Thread Group</a></li>
-<li><a href="#tearDown_Thread_Group">tearDown Thread Group</a></li>
-</ul>
-</ul>
-<table border="0" cellspacing="0" cellpadding="2" width="100%">
-<tr><td bgcolor="#525D76">
-<font color="#ffffff" face="arial,helvetica,sanserif">
-<a name="introduction"><strong>18.0 Introduction</strong></a><a 
class="sectionlink" href="#introduction" title="Link to here">&para;</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<description>
-
-
+<!DOCTYPE html SYSTEM "about:legacy-compat">
+<html lang="en"><head><META http-equiv="Content-Type" content="text/html; 
charset=iso-8859-15"><title>Apache JMeter
+          -
+          User's Manual: Component Reference</title><meta name="viewport" 
content="width=device-width, initial-scale=1"><link 
href="http://fonts.googleapis.com/css?family=Merriweather:400normal"; 
rel="stylesheet" type="text/css"><link rel="stylesheet" type="text/css" 
href="../css/new-style.css"></head><body role="document"><a href="#content" 
class="hidden">Main content</a><div class="header"><!--
+            APACHE LOGO
+          --><div><a href="http://www.apache.org";><img title="Apache Software 
Foundation" width="290" height="75" src="../images/asf-logo.png" alt="Logo 
ASF"></a></div><!--
+              PROJECT LOGO
+            --><div><a href="http://jmeter.apache.org/";><img 
src="../images/logo.jpg" alt="Apache JMeter"></a></div><div 
class="twitter"><div><a href="https://twitter.com/share"; 
class="twitter-share-button" data-text="Powerful Load Testing with Apache 
#JMeter" data-via="ApacheJMeter" data-lang="en-gb" 
data-size="large">Tweet</a><script>
+            (function(d,s,id){
+              var js,
+                  fjs=d.getElementsByTagName(s)[0],
+                  p=/^http:/.test(d.location)?'http':'https';
+              if (!d.getElementById(id)) {
+                  js=d.createElement(s);
+                  js.id=id;
+                  js.src=p+'://platform.twitter.com/widgets.js';
+                  fjs.parentNode.insertBefore(js,fjs);
+              }
+            })(document, 'script', 'twitter-wjs');
+              </script></div><div><a href="https://twitter.com/ApacheJMeter"; 
class="twitter-follow-button" data-show-count="false" data-lang="en-gb" 
data-size="large">Follow</a><script>(function(d,s,id){
+                var js,
+                    fjs=d.getElementsByTagName(s)[0],
+                    p=/^http:/.test(d.location)?'http':'https';
+                if (!d.getElementById(id)) {
+                    js=d.createElement(s);
+                    js.id=id;
+                    js.src=p+'://platform.twitter.com/widgets.js';
+                    fjs.parentNode.insertBefore(js,fjs);
+                }
+            })(document, 'script', 'twitter-wjs');
+              </script></div></div><div class="banner"><iframe 
src="http://www.apache.org/ads/bannerbar.html"; style="border-width:0;" 
frameborder="0" scrolling="no"></iframe><div 
class="clear"></div></div></div><div class="nav"><ul class="menu"><li><div 
class="menu-title">About</div><ul><li><a 
href="../index.html">Overview</a></li><li><a 
href="http://twitter.com/ApacheJMeter";>JMeter on Twitter<img 
src="../images/twitter.png" alt="Icon for JMeter on Twitter"></a></li><li><a 
href="../issues.html">Issue Tracking</a></li><li><a 
href="http://projects.apache.org/feeds/rss/jmeter.xml";>Subscribe to What's 
New</a></li><li><a 
href="http://www.apache.org/licenses/";>License</a></li></ul></li></ul><ul 
class="menu"><li><div class="menu-title">Download</div><ul><li><a 
href="../download_jmeter.cgi">Download Releases</a></li><li><a 
href="../nightly.html">Developer (Nightly) Builds</a></li></ul></li></ul><ul 
class="menu"><li><div class="menu-title">Documentation</div><ul><li><a 
href="../changes.html"
 >Changes per version</a></li><li><a href="../usermanual/get-started.html">Get 
 >Started</a></li><li><a href="../usermanual/index.html">User 
 >Manual</a></li><li><a href="../usermanual/best-practices.html">Best 
 >Practices</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="../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></li></ul><ul class="menu"><li><div 
 >class="menu-title">Tutorials (PDF format)</div><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="../us
 ermanual/jmeter_accesslog_sampler_step_by_step.pdf">Access Log 
Sampler</a></li><li><a href="../extending/jmeter_tutorial.pdf">Extending 
JMeter</a></li></ul></li></ul><ul class="menu"><li><div 
class="menu-title">Community</div><ul><li><a 
href="http://wiki.apache.org/jmeter/JMeterCommitters";>Contributors</a></li><li><a
 href="../mail.html">Mailing Lists</a></li><li><a href="../svnindex.html">SVN 
Repositories</a></li></ul></li></ul><ul class="menu"><li><div 
class="menu-title">Foundation</div><ul><li><a 
href="http://www.apache.org/";>ASF</a></li><li><a 
href="http://www.apache.org/foundation/getinvolved.html";>Get Involved in the 
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></li></ul></div><div
 class="main" id="content"><ul class="pagelinks"><li><a href="boss.html">&lt; 
Prev</a></li><li><a href="../index.html">Index</a></li><li><a 
href="functions.html">Next &gt;<
 /a></li></ul><ul class="section-index"><li><a href="#introduction">18.0 
Introduction</a><ul></ul></li><li><a href="#samplers">18.1 
Samplers</a><ul><li><a href="#FTP_Request">FTP Request</a></li><li><a 
href="#HTTP_Request">HTTP Request</a></li><li><a href="#JDBC_Request">JDBC 
Request</a></li><li><a href="#Java_Request">Java Request</a></li><li><a 
href="#SOAP/XML-RPC_Request">SOAP/XML-RPC Request</a></li><li><a 
href="#WebService(SOAP)_Request_(DEPRECATED)">WebService(SOAP) Request 
(DEPRECATED)</a></li><li><a href="#LDAP_Request">LDAP Request</a></li><li><a 
href="#LDAP_Extended_Request">LDAP Extended Request</a></li><li><a 
href="#Access_Log_Sampler">Access Log Sampler</a></li><li><a 
href="#BeanShell_Sampler">BeanShell Sampler</a></li><li><a 
href="#BSF_Sampler">BSF Sampler</a></li><li><a href="#JSR223_Sampler">JSR223 
Sampler</a></li><li><a href="#TCP_Sampler">TCP Sampler</a></li><li><a 
href="#JMS_Publisher">JMS Publisher</a></li><li><a href="#JMS_Subscriber">JMS 
Subscriber</a></li><li><
 a href="#JMS_Point-to-Point">JMS Point-to-Point</a></li><li><a 
href="#JUnit_Request">JUnit Request</a></li><li><a 
href="#Mail_Reader_Sampler">Mail Reader Sampler</a></li><li><a 
href="#Test_Action">Test Action</a></li><li><a href="#SMTP_Sampler">SMTP 
Sampler</a></li><li><a href="#OS_Process_Sampler">OS Process 
Sampler</a></li><li><a href="#MongoDB_Script">MongoDB 
Script</a></li></ul></li><li><a href="#logic_controllers">18.2 Logic 
Controllers</a><ul><li><a href="#Simple_Controller">Simple 
Controller</a></li><li><a href="#Loop_Controller">Loop 
Controller</a></li><li><a href="#Once_Only_Controller">Once Only 
Controller</a></li><li><a href="#Interleave_Controller">Interleave 
Controller</a></li><li><a href="#Random_Controller">Random 
Controller</a></li><li><a href="#Random_Order_Controller">Random Order 
Controller</a></li><li><a href="#Throughput_Controller">Throughput 
Controller</a></li><li><a href="#Runtime_Controller">Runtime 
Controller</a></li><li><a href="#If_Controller">If Controll
 er</a></li><li><a href="#While_Controller">While Controller</a></li><li><a 
href="#Switch_Controller">Switch Controller</a></li><li><a 
href="#ForEach_Controller">ForEach Controller</a></li><li><a 
href="#Module_Controller">Module Controller</a></li><li><a 
href="#Include_Controller">Include Controller</a></li><li><a 
href="#Transaction_Controller">Transaction Controller</a></li><li><a 
href="#Recording_Controller">Recording Controller</a></li><li><a 
href="#Critical_Section_Controller">Critical Section 
Controller</a></li></ul></li><li><a href="#listeners">18.3 
Listeners</a><ul><li><a href="#Sample_Result_Save_Configuration">Sample Result 
Save Configuration</a></li><li><a href="#Graph_Results">Graph 
Results</a></li><li><a href="#Spline_Visualizer">Spline 
Visualizer</a></li><li><a href="#Assertion_Results">Assertion 
Results</a></li><li><a href="#View_Results_Tree">View Results 
Tree</a></li><li><a href="#Aggregate_Report">Aggregate Report</a></li><li><a 
href="#View_Results_in_Table">View Res
 ults in Table</a></li><li><a href="#Simple_Data_Writer">Simple Data 
Writer</a></li><li><a href="#Monitor_Results">Monitor Results</a></li><li><a 
href="#Distribution_Graph_(alpha)">Distribution Graph (alpha)</a></li><li><a 
href="#Aggregate_Graph">Aggregate Graph</a></li><li><a 
href="#Response_Time_Graph">Response Time Graph</a></li><li><a 
href="#Mailer_Visualizer">Mailer Visualizer</a></li><li><a 
href="#BeanShell_Listener">BeanShell Listener</a></li><li><a 
href="#Summary_Report">Summary Report</a></li><li><a 
href="#Save_Responses_to_a_file">Save Responses to a file</a></li><li><a 
href="#BSF_Listener">BSF Listener</a></li><li><a href="#JSR223_Listener">JSR223 
Listener</a></li><li><a href="#Generate_Summary_Results">Generate Summary 
Results</a></li><li><a href="#Comparison_Assertion_Visualizer">Comparison 
Assertion Visualizer</a></li><li><a href="#Backend_Listener">Backend 
Listener</a></li></ul></li><li><a href="#config_elements">18.4 Configuration 
Elements</a><ul><li><a href="#CSV_Dat
 a_Set_Config">CSV Data Set Config</a></li><li><a 
href="#FTP_Request_Defaults">FTP Request Defaults</a></li><li><a 
href="#DNS_Cache_Manager">DNS Cache Manager</a></li><li><a 
href="#HTTP_Authorization_Manager">HTTP Authorization Manager</a></li><li><a 
href="#HTTP_Cache_Manager">HTTP Cache Manager</a></li><li><a 
href="#HTTP_Cookie_Manager">HTTP Cookie Manager</a></li><li><a 
href="#HTTP_Request_Defaults">HTTP Request Defaults</a></li><li><a 
href="#HTTP_Header_Manager">HTTP Header Manager</a></li><li><a 
href="#Java_Request_Defaults">Java Request Defaults</a></li><li><a 
href="#JDBC_Connection_Configuration">JDBC Connection 
Configuration</a></li><li><a href="#Keystore_Configuration">Keystore 
Configuration</a></li><li><a href="#Login_Config_Element">Login Config 
Element</a></li><li><a href="#LDAP_Request_Defaults">LDAP Request 
Defaults</a></li><li><a href="#LDAP_Extended_Request_Defaults">LDAP Extended 
Request Defaults</a></li><li><a href="#TCP_Sampler_Config">TCP Sampler 
Config</a></li><li
 ><a href="#User_Defined_Variables">User Defined Variables</a></li><li><a 
 >href="#Random_Variable">Random Variable</a></li><li><a 
 >href="#Counter">Counter</a></li><li><a href="#Simple_Config_Element">Simple 
 >Config Element</a></li><li><a href="#MongoDB_Source_Config">MongoDB Source 
 >Config</a></li></ul></li><li><a href="#assertions">18.5 
 >Assertions</a><ul><li><a href="#Response_Assertion">Response 
 >Assertion</a></li><li><a href="#Duration_Assertion">Duration 
 >Assertion</a></li><li><a href="#Size_Assertion">Size Assertion</a></li><li><a 
 >href="#XML_Assertion">XML Assertion</a></li><li><a 
 >href="#BeanShell_Assertion">BeanShell Assertion</a></li><li><a 
 >href="#MD5Hex_Assertion">MD5Hex Assertion</a></li><li><a 
 >href="#HTML_Assertion">HTML Assertion</a></li><li><a 
 >href="#XPath_Assertion">XPath Assertion</a></li><li><a 
 >href="#XML_Schema_Assertion">XML Schema Assertion</a></li><li><a 
 >href="#BSF_Assertion">BSF Assertion</a></li><li><a 
 >href="#JSR223_Assertion">JSR223 Assertion</a></li><li><a href="#Com
 pare_Assertion">Compare Assertion</a></li><li><a href="#SMIME_Assertion">SMIME 
Assertion</a></li></ul></li><li><a href="#timers">18.6 Timers</a><ul><li><a 
href="#Constant_Timer">Constant Timer</a></li><li><a 
href="#Gaussian_Random_Timer">Gaussian Random Timer</a></li><li><a 
href="#Uniform_Random_Timer">Uniform Random Timer</a></li><li><a 
href="#Constant_Throughput_Timer">Constant Throughput Timer</a></li><li><a 
href="#Synchronizing_Timer">Synchronizing Timer</a></li><li><a 
href="#BeanShell_Timer">BeanShell Timer</a></li><li><a href="#BSF_Timer">BSF 
Timer</a></li><li><a href="#JSR223_Timer">JSR223 Timer</a></li><li><a 
href="#Poisson_Random_Timer">Poisson Random Timer</a></li></ul></li><li><a 
href="#preprocessors">18.7 Pre Processors</a><ul><li><a 
href="#HTML_Link_Parser">HTML Link Parser</a></li><li><a 
href="#HTTP_URL_Re-writing_Modifier">HTTP URL Re-writing 
Modifier</a></li><li><a href="#HTML_Parameter_Mask_(DEPRECATED)">HTML Parameter 
Mask (DEPRECATED)</a></li><li><a href="#User_Pa
 rameters">User Parameters</a></li><li><a 
href="#BeanShell_PreProcessor">BeanShell PreProcessor</a></li><li><a 
href="#BSF_PreProcessor">BSF PreProcessor</a></li><li><a 
href="#JSR223_PreProcessor">JSR223 PreProcessor</a></li><li><a 
href="#JDBC_PreProcessor">JDBC PreProcessor</a></li><li><a 
href="#RegEx_User_Parameters">RegEx User Parameters</a></li></ul></li><li><a 
href="#postprocessors">18.8 Post-Processors</a><ul><li><a 
href="#Regular_Expression_Extractor">Regular Expression 
Extractor</a></li><li><a href="#CSS/JQuery_Extractor">CSS/JQuery 
Extractor</a></li><li><a href="#XPath_Extractor">XPath Extractor</a></li><li><a 
href="#Result_Status_Action_Handler">Result Status Action 
Handler</a></li><li><a href="#BeanShell_PostProcessor">BeanShell 
PostProcessor</a></li><li><a href="#BSF_PostProcessor">BSF 
PostProcessor</a></li><li><a href="#JSR223_PostProcessor">JSR223 
PostProcessor</a></li><li><a href="#JDBC_PostProcessor">JDBC 
PostProcessor</a></li></ul></li><li><a href="#Miscellaneous_Feat
 ures">18.9 Miscellaneous Features</a><ul><li><a href="#Test_Plan">Test 
Plan</a></li><li><a href="#Thread_Group">Thread Group</a></li><li><a 
href="#WorkBench">WorkBench</a></li><li><a href="#SSL_Manager">SSL 
Manager</a></li><li><a href="#HTTP(S)_Test_Script_Recorder">HTTP(S) Test Script 
Recorder
+                    (was:
+                    HTTP Proxy Server
+                    )
+                  </a></li><li><a href="#HTTP_Mirror_Server">HTTP Mirror 
Server</a></li><li><a href="#Property_Display">Property Display</a></li><li><a 
href="#Debug_Sampler">Debug Sampler</a></li><li><a 
href="#Debug_PostProcessor">Debug PostProcessor</a></li><li><a 
href="#Test_Fragment">Test Fragment</a></li><li><a 
href="#setUp_Thread_Group">setUp Thread Group</a></li><li><a 
href="#tearDown_Thread_Group">tearDown Thread Group</a></li></ul></li></ul><div 
class="section"><h1 id="introduction">18.0 Introduction<a class="sectionlink" 
href="#introduction" title="Link to here">&para;</a></h1>
+<div class="description">
 <p>
 
-
-
 </p>
-
- 
-<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" 
cellpadding="2">
-<tr><td>
+ <div class="clear"></div><div class="note">
  Several test elements use JMeter properties to control their behaviour.
  These properties are normally resolved when the class is loaded.
  This generally occurs before the test plan starts, so it's not possible to 
change the settings by using the __setProperty() function.
-
-</td></tr>
-</table>
-</p>
-
-
+</div><div class="clear"></div>
 <p>
-
-
 </p>
-
-
-</description>
-</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="samplers"><strong>18.1 Samplers</strong></a><a class="sectionlink" 
href="#samplers" title="Link to here">&para;</a></font>
-</td></tr>
-<tr><td>
-<blockquote>
-<description>
-
-    
-<p>
-
+</div>
+</div><div class="section"><h1 id="samplers">18.1 Samplers<a 
class="sectionlink" href="#samplers" title="Link to here">&para;</a></h1>
+<div class="description">
+    <p>
     Samplers perform the actual work of JMeter.
     Each sampler (except Test Action) generates one or more sample results.
     The sample results have various attributes (success/fail, elapsed time, 
data size etc) and can be viewed in the various listeners.
-    
-</p>
-
-
-</description>
-<table border="0" cellspacing="0" cellpadding="2">
-<tr><td>
-<font face="arial,helvetica,sanserif">
-<h3>
-<a name="FTP_Request">18.1.1 FTP Request</a>
-<a class="sectionlink" href="#FTP_Request" title="Link to here">&para;</a></h3>
-</font>
-</td></tr>
-<tr><td>
-
+    </p>
+</div>
+<div class="component"><h2 id="FTP_Request">FTP Request<a class="sectionlink" 
href="#FTP_Request" title="Link to here">&para;</a></h2><div 
class="screenshot"><a href="../images/screenshots/ftptest/ftp-request.png"><img 
src="../images/screenshots/ftptest/ftp-request.png" width="861" height="278" 
alt="Screenshot for FTP Request"></a></div>
+<div class="description">
 This controller lets you send an FTP "retrieve file" or "upload file" request 
to an FTP server.
 If you are going to send multiple requests to the same FTP server, consider
-using a 
-<a href="../usermanual/component_reference.html#FTP_Request_Defaults">FTP 
Request Defaults</a>
- Configuration
+using a <a 
href="../usermanual/component_reference.html#FTP_Request_Defaults">FTP Request 
Defaults</a> Configuration
 Element so you do not have to enter the same information for each FTP Request 
Generative
 Controller. When downloading a file, it can be stored on disk (Local File) or 
in the Response Data, or both.
-
 <p>
-
 Latency is set to the time it takes to login (versions of JMeter after 2.3.1).
-
 </p>
-
-
-<p><b>Control Panel</b></p>
-<div align="center"><img width='861' height='278' 
src="../images/screenshots/ftptest/ftp-request.png"/></div>
-<p>
-<b>Parameters</b>
-<a name="FTP_Request_parms"/>
-<a class="sectionlink" href="#FTP_Request_parms" title="Link to 
here">&para;</a><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 sampler that is shown in the tree.
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Server Name or IP</td>
-<td>Domain name or IP address of the FTP server.
-</td>
-<td>
-Yes
-</td>
-</tr>
-<tr>
-<td>Port</td>
-<td>Port to use. If this is  >0, then this specific port is used, otherwise 
JMeter uses the default FTP port.
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Remote File:</td>
-<td>File to retrieve or name of destination file to upload.
-</td>
-<td>
-Yes
-</td>
-</tr>
-<tr>
-<td>Local File:</td>
-<td>File to upload, or destination for downloads (defaults to remote file 
name).
-</td>
-<td>
-Yes, if uploading (*)
-</td>
-</tr>
-<tr>
-<td>Local File Contents:</td>
-<td>Provides the contents for the upload, overrides the Local File property.
-</td>
-<td>
-Yes, if uploading (*)
-</td>
-</tr>
-<tr>
-<td>get(RETR) / put(STOR)</td>
-<td>Whether to retrieve or upload a file.
-</td>
-<td>
-Yes
-</td>
-</tr>
-<tr>
-<td>Use Binary mode ?</td>
-<td>Check this to use Binary mode (default Ascii)
-</td>
-<td>
-Yes
-</td>
-</tr>
-<tr>
-<td>Save File in Response ?</td>
-<td>
+</div>
+<div class="properties"><h3 id="FTP_Request_parms1">
+        Parameters
+        <a class="sectionlink" href="#FTP_Request_parms1" title="Link to 
here">&para;</a></h3><div class="property title"><div class="name 
title">Attribute</div><div class="description title">Description</div><div 
class="required title">Required</div></div>
+        <div class="property"><div class="name req-false">Name</div><div 
class="description req-false">Descriptive name for this sampler that is shown 
in the tree.</div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-true">Server Name or 
IP</div><div class="description req-true">Domain name or IP address of the FTP 
server.</div><div class="required req-true">Yes</div></div>
+        <div class="property"><div class="name req-false">Port</div><div 
class="description req-false">Port to use. If this is  &gt;0, then this 
specific port is used, otherwise JMeter uses the default FTP port.</div><div 
class="required req-false">No</div></div>
+        <div class="property"><div class="name req-true">Remote 
File:</div><div class="description req-true">File to retrieve or name of 
destination file to upload.</div><div class="required req-true">Yes</div></div>
+        <div class="property"><div class="name req-true">Local File:</div><div 
class="description req-true">File to upload, or destination for downloads 
(defaults to remote file name).</div><div class="required req-true">Yes, if 
uploading (*)</div></div>
+        <div class="property"><div class="name req-true">Local File 
Contents:</div><div class="description req-true">Provides the contents for the 
upload, overrides the Local File property.</div><div class="required 
req-true">Yes, if uploading (*)</div></div>
+        <div class="property"><div class="name req-true">get(RETR) / 
put(STOR)</div><div class="description req-true">Whether to retrieve or upload 
a file.</div><div class="required req-true">Yes</div></div>
+        <div class="property"><div class="name req-true">Use Binary mode 
?</div><div class="description req-true">Check this to use Binary mode (default 
Ascii)</div><div class="required req-true">Yes</div></div>
+        <div class="property"><div class="name req-true">Save File in Response 
?</div><div class="description req-true">
         Whether to store contents of retrieved file in response data.
         If the mode is Ascii, then the contents will be visible in the Tree 
View Listener.
-        
-</td>
-<td>
-Yes, if downloading
-</td>
-</tr>
-<tr>
-<td>Username</td>
-<td>FTP account username.
-</td>
-<td>
-Usually
-</td>
-</tr>
-<tr>
-<td>Password</td>
-<td>FTP account password. N.B. This will be visible in the test plan.
-</td>
-<td>
-Usually
-</td>
-</tr>
-</table>
-</p>
-<p><b>See Also:</b>
-<ul>
-<li><a href="test_plan.html#assertions">Assertions</a></li>
-<li><a href="../usermanual/component_reference.html#FTP_Request_Defaults">FTP 
Request Defaults</a>
-</li>
-<li><a href="build-ftp-test-plan.html">Building an FTP Test Plan</a></li>
-</ul>
-</p>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<hr>
-<table border="0" cellspacing="0" cellpadding="2">
-<tr><td>
-<font face="arial,helvetica,sanserif">
-<h3>
-<a name="HTTP_Request">18.1.2 HTTP Request</a>
-<a class="sectionlink" href="#HTTP_Request" title="Link to 
here">&para;</a></h3>
-</font>
-</td></tr>
-<tr><td>
-
-        
-<p>
-This sampler lets you send an HTTP/HTTPS request to a web server.  It
-        also lets you control whether or not JMeter parses HTML files for 
images and
-        other embedded resources and sends HTTP requests to retrieve them.
-        The following types of embedded resource are retrieved:
-</p>
-
-        
-<ul>
-
-        
-<li>
-images
-</li>
-
-        
-<li>
-applets
-</li>
-
-        
-<li>
-stylesheets
-</li>
-
-        
-<li>
-external scripts
-</li>
-
-        
-<li>
-frames, iframes
-</li>
-
-        
-<li>
-background images (body, table, TD, TR)
-</li>
-
-        
-<li>
-background sound
-</li>
+        </div><div class="required req-true">Yes, if downloading</div></div>
+        <div class="property"><div class="name req-false">Username</div><div 
class="description req-false">FTP account username.</div><div class="required 
req-false">Usually</div></div>
+        <div class="property"><div class="name req-false">Password</div><div 
class="description req-false">FTP account password. N.B. This will be visible 
in the test plan.</div><div class="required req-false">Usually</div></div>
+</div>
+<div class="links"><div class="title">See also:</div><ul class="links"><li><a 
href="test_plan.html#assertions">Assertions</a></li><li><a 
href="../usermanual/component_reference.html#FTP_Request_Defaults">FTP Request 
Defaults</a></li><li><a href="build-ftp-test-plan.html">Building an FTP Test 
Plan</a></li></ul></div>
 
-        
-</ul>
+<div class="go-top"><a href="#">^</a></div></div>
 
-        
-<p>
+<div class="component"><h2 id="HTTP_Request">HTTP Request<a 
class="sectionlink" href="#HTTP_Request" title="Link to 
here">&para;</a></h2><div class="screenshot"><a 
href="../images/screenshots/http-request.png"><img 
src="../images/screenshots/http-request.png" width="900" height="686" 
alt="Screenshot for HTTP Request"></a></div>
 
+<div class="description">
+        <p>This sampler lets you send an HTTP/HTTPS request to a web server.  
It
+        also lets you control whether or not JMeter parses HTML files for 
images and
+        other embedded resources and sends HTTP requests to retrieve them.
+        The following types of embedded resource are retrieved:</p>
+        <ul>
+        <li>images</li>
+        <li>applets</li>
+        <li>stylesheets</li>
+        <li>external scripts</li>
+        <li>frames, iframes</li>
+        <li>background images (body, table, TD, TR)</li>
+        <li>background sound</li>
+        </ul>
+        <p>
         The default parser is htmlparser.
         This can be changed by using the property "htmlparser.classname" - see 
jmeter.properties for details.
-        
-</p>
-
-        
-<p>
-If you are going to send multiple requests to the same web server, consider
-        using an 
-<a href="../usermanual/component_reference.html#HTTP_Request_Defaults">HTTP 
Request Defaults</a>
-
+        </p>
+        <p>If you are going to send multiple requests to the same web server, 
consider
+        using an <a 
href="../usermanual/component_reference.html#HTTP_Request_Defaults">HTTP 
Request Defaults</a>
         Configuration Element so you do not have to enter the same information 
for each
-        HTTP Request.
-</p>
-
+        HTTP Request.</p>
 
-        
-<p>
-Or, instead of manually adding HTTP Requests, you may want to use
-        JMeter's 
-<a 
href="../usermanual/component_reference.html#HTTP(S)_Test_Script_Recorder">HTTP(S)
 Test Script Recorder</a>
- to create
+        <p>Or, instead of manually adding HTTP Requests, you may want to use
+        JMeter's <a 
href="../usermanual/component_reference.html#HTTP(S)_Test_Script_Recorder">HTTP(S)
 Test Script Recorder</a> to create
         them.  This can save you time if you have a lot of HTTP requests or 
requests with many
-        parameters.
-</p>
-
-
-        
-<p>
-<b>
-There are two different test elements used to define the samplers:
-</b>
-
-        
-<ul>
+        parameters.</p>
 
-        
-<li>
-AJP/1.3 Sampler - uses the Tomcat mod_jk protocol (allows testing of Tomcat in 
AJP mode without needing Apache httpd)
+        <p><b>There are two different test elements used to define the 
samplers:</b>
+        <ul>
+        <li>AJP/1.3 Sampler - uses the Tomcat mod_jk protocol (allows testing 
of Tomcat in AJP mode without needing Apache httpd)
         The AJP Sampler does not support multiple file upload; only the first 
file will be used.
-        
-</li>
+        </li>
+        <li>HTTP Request - this has an implementation drop-down box, which 
selects the HTTP protocol implementation to be used:</li>
+        <ul>
+        <li>Java - uses the HTTP implementation provided by the JVM. 
+        This has some limitations in comparison with the HttpClient 
implementations - see below.</li>
+        <li>HTTPClient3.1 - uses Apache Commons HttpClient 3.1. 
+        This is no longer being developed, and support for this may be dropped 
in a future JMeter release.</li>
+        <li>HTTPClient4 - uses Apache HttpComponents HttpClient 4.x.</li>
+        <li>Blank Value - does not set implementation on HTTP Samplers, so 
relies on HTTP Request Defaults if present or on jmeter.httpsampler property 
defined in jmeter.properties</li>
+        </ul>
+        </ul>
+         </p>
+         <p>The Java HTTP implementation has some limitations:</p>
+         <ul>
+         <li>There is no control over how connections are re-used. 
+         When a connection is released by JMeter, it may or may not be re-used 
by the same thread.</li>
+         <li>The API is best suited to single-threaded usage - various 
settings 
+         are defined via system properties, and therefore apply to all 
connections.</li>
+         <li>There is a bug in the handling of HTTPS via a Proxy (the CONNECT 
is not handled correctly).
+         See Java bugs 6226610 and 6208335.
+         </li>
+         <li>It does not support virtual hosts.</li>
+         <li>It does not support the following methods: COPY, LOCK, MKCOL, 
MOVE, PATCH, PROPFIND, PROPPATCH, UNLOCK, REPORT, MKCALENDAR.</li>
+         <li>It does not support client based certificate testing with 
Keystore Config.</li>
+         </ul>
+         <p>Note: the FILE protocol is intended for testing purposes only.
+         It is handled by the same code regardless of which HTTP Sampler is 
used.</p>
+        <p>If the request requires server or proxy login authorization (i.e. 
where a browser would create a pop-up dialog box),
+         you will also have to add an <a 
href="../usermanual/component_reference.html#HTTP_Authorization_Manager">HTTP 
Authorization Manager</a> Configuration Element.
+         For normal logins (i.e. where the user enters login information in a 
form), you will need to work out what the form submit button does,
+         and create an HTTP request with the appropriate method (usually POST) 
+         and the appropriate parameters from the form definition. 
+         If the page uses HTTP, you can use the JMeter Proxy to capture the 
login sequence.
+        </p>
+        <p>
+        In versions of JMeter up to 2.2, only a single SSL context was used 
for all threads and samplers.
+        This did not generate the proper load for multiple users.
+        A separate SSL context is now used for each thread.
+        To revert to the original behaviour, set the JMeter property:
+<pre>
+https.sessioncontext.shared=true
+</pre>
+        By default, the SSL context is retained for the duration of the test.
+        In versions of JMeter from 2.5.1, the SSL session can be optionally 
reset for each test iteration.
+        To enable this, set the JMeter property:
+<pre>
+https.use.cached.ssl.context=false
+</pre>
+        Note: this does not apply to the Java HTTP implementation.
+        </p>
+        <p>
+        JMeter defaults to the SSL protocol level TLS.
+        If the server needs a different level, e.g. SSLv3, change the JMeter 
property, for example:
+<pre>
+https.default.protocol=SSLv3
+</pre> 
+        </p>
+        <p>
+        JMeter also allows one to enable additional protocols, by changing the 
property <tt>https.socket.protocols</tt>.
+        </p>
+        <p>If the request uses cookies, then you will also need an
+        <a 
href="../usermanual/component_reference.html#HTTP_Cookie_Manager">HTTP Cookie 
Manager</a>.  You can
+        add either of these elements to the Thread Group or the HTTP Request.  
If you have
+        more than one HTTP Request that needs authorizations or cookies, then 
add the
+        elements to the Thread Group.  That way, all HTTP Request controllers 
will share the
+        same Authorization Manager and Cookie Manager elements.</p>
 
-        
-<li>
-HTTP Request - this has an implementation drop-down box, which selects the 
HTTP protocol implementation to be used:
-</li>
-
-        
-<ul>
-
-        
-<li>
-Java - uses the HTTP implementation provided by the JVM. 
-        This has some limitations in comparison with the HttpClient 
implementations - see below.
-</li>
-
-        
-<li>
-HTTPClient3.1 - uses Apache Commons HttpClient 3.1. 
-        This is no longer being developed, and support for this may be dropped 
in a future JMeter release.
-</li>
-
-        
-<li>
-HTTPClient4 - uses Apache HttpComponents HttpClient 4.x.
-</li>
-
-        
-<li>
-Blank Value - does not set implementation on HTTP Samplers, so relies on HTTP 
Request Defaults if present or on jmeter.httpsampler property defined in 
jmeter.properties
-</li>
-
-        
-</ul>
-
-        
-</ul>
-
-         
-</p>
-
-         
-<p>
-The Java HTTP implementation has some limitations:
-</p>
-
-         
-<ul>
-
-         
-<li>
-There is no control over how connections are re-used. 
-         When a connection is released by JMeter, it may or may not be re-used 
by the same thread.
-</li>
-
-         
-<li>
-The API is best suited to single-threaded usage - various settings 
-         are defined via system properties, and therefore apply to all 
connections.
-</li>
-
-         
-<li>
-There is a bug in the handling of HTTPS via a Proxy (the CONNECT is not 
handled correctly).
-         See Java bugs 6226610 and 6208335.
-         
-</li>
-
-         
-<li>
-It does not support virtual hosts.
-</li>
-
-         
-<li>
-It does not support the following methods: COPY, LOCK, MKCOL, MOVE, PATCH, 
PROPFIND, PROPPATCH, UNLOCK, REPORT, MKCALENDAR.
-</li>
-
-         
-<li>
-It does not support client based certificate testing with Keystore Config.
-</li>
-
-         
-</ul>
-
-         
-<p>
-Note: the FILE protocol is intended for testing purposes only.
-         It is handled by the same code regardless of which HTTP Sampler is 
used.
-</p>
-
-        
-<p>
-If the request requires server or proxy login authorization (i.e. where a 
browser would create a pop-up dialog box),
-         you will also have to add an 
-<a 
href="../usermanual/component_reference.html#HTTP_Authorization_Manager">HTTP 
Authorization Manager</a>
- Configuration Element.
-         For normal logins (i.e. where the user enters login information in a 
form), you will need to work out what the form submit button does,
-         and create an HTTP request with the appropriate method (usually POST) 
-         and the appropriate parameters from the form definition. 
-         If the page uses HTTP, you can use the JMeter Proxy to capture the 
login sequence.
-        
-</p>
-
-        
-<p>
-
-        In versions of JMeter up to 2.2, only a single SSL context was used 
for all threads and samplers.
-        This did not generate the proper load for multiple users.
-        A separate SSL context is now used for each thread.
-        To revert to the original behaviour, set the JMeter property:
-
-<pre>
-
-https.sessioncontext.shared=true
-
-</pre>
-
-        By default, the SSL context is retained for the duration of the test.
-        In versions of JMeter from 2.5.1, the SSL session can be optionally 
reset for each test iteration.
-        To enable this, set the JMeter property:
-
-<pre>
-
-https.use.cached.ssl.context=false
-
-</pre>
-
-        Note: this does not apply to the Java HTTP implementation.
-        
-</p>
-
-        
-<p>
-
-        JMeter defaults to the SSL protocol level TLS.
-        If the server needs a different level, e.g. SSLv3, change the JMeter 
property, for example:
-
-<pre>
-
-https.default.protocol=SSLv3
-
-</pre>
- 
-        
-</p>
-
-        
-<p>
-
-        JMeter also allows one to enable additional protocols, by changing the 
property 
-<tt>
-https.socket.protocols
-</tt>
-.
-        
-</p>
-
-        
-<p>
-If the request uses cookies, then you will also need an
-        
-<a href="../usermanual/component_reference.html#HTTP_Cookie_Manager">HTTP 
Cookie Manager</a>
-.  You can
-        add either of these elements to the Thread Group or the HTTP Request.  
If you have
-        more than one HTTP Request that needs authorizations or cookies, then 
add the
-        elements to the Thread Group.  That way, all HTTP Request controllers 
will share the
-        same Authorization Manager and Cookie Manager elements.
-</p>
-
-
-        
-<p>
-If the request uses a technique called "URL Rewriting" to maintain sessions,
+        <p>If the request uses a technique called "URL Rewriting" to maintain 
sessions,
         then see section
-        
-<a href="build-adv-web-test-plan.html#session_url_rewriting">
-6.1 Handling User Sessions With URL Rewriting
-</a>
-
-        for additional configuration steps.
-</p>
-
-
-<p><b>Control Panel</b></p>
-<div align="center"><img width='900' height='686' 
src="../images/screenshots/http-request.png"/></div>
-<p>
-<b>Parameters</b>
-<a name="HTTP_Request_parms"/>
-<a class="sectionlink" href="#HTTP_Request_parms" title="Link to 
here">&para;</a><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 sampler that is shown in the tree.
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Server</td>
-<td>
+        <a href="build-adv-web-test-plan.html#session_url_rewriting">6.1 
Handling User Sessions With URL Rewriting</a>
+        for additional configuration steps.</p>
+</div>
+<div class="properties"><h3 id="HTTP_Request_parms1">
+        Parameters
+        <a class="sectionlink" href="#HTTP_Request_parms1" title="Link to 
here">&para;</a></h3><div class="property title"><div class="name 
title">Attribute</div><div class="description title">Description</div><div 
class="required title">Required</div></div>
+        <div class="property"><div class="name req-false">Name</div><div 
class="description req-false">Descriptive name for this sampler that is shown 
in the tree.</div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-true">Server</div><div 
class="description req-true">
             Domain name or IP address of the web server. e.g. www.example.com. 
[Do not include the http:// prefix.]
             Note: in JMeter 2.5 (and later) if the "Host" header is defined in 
a Header Manager, then this will be used
             as the virtual host name.
-        
-</td>
-<td>
-Yes, unless provided by HTTP Request Defaults
-</td>
-</tr>
-<tr>
-<td>Port</td>
-<td>Port the web server is listening to. Default: 80
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Connect Timeout</td>
-<td>Connection Timeout. Number of milliseconds to wait for a connection to 
open.
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Response Timeout</td>
-<td>Response Timeout. Number of milliseconds to wait for a response. 
+        </div><div class="required req-true">Yes, unless provided by HTTP 
Request Defaults</div></div>
+        <div class="property"><div class="name req-false">Port</div><div 
class="description req-false">Port the web server is listening to. Default: 
80</div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Connect 
Timeout</div><div class="description req-false">Connection Timeout. Number of 
milliseconds to wait for a connection to open.</div><div class="required 
req-false">No</div></div>
+        <div class="property"><div class="name req-false">Response 
Timeout</div><div class="description req-false">Response Timeout. Number of 
milliseconds to wait for a response. 
         Note that this applies to each wait for a response. If the server 
response is sent in several chunks, the overall
         elapsed time may be longer than the timeout.
-        A 
-<a href="../usermanual/component_reference.html#Duration_Assertion">Duration 
Assertion</a>
- can be used to detect responses that take too long to complete.
-        
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Server (proxy)</td>
-<td>Hostname or IP address of a proxy server to perform request. [Do not 
include the http:// prefix.]
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Port</td>
-<td>Port the proxy server is listening to.
-</td>
-<td>
-No, unless proxy hostname is specified
-</td>
-</tr>
-<tr>
-<td>Username</td>
-<td>(Optional) username for proxy server.
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Password</td>
-<td>(Optional) password for proxy server. (N.B. this is stored unencrypted in 
the test plan)
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Implementation</td>
-<td>Java, HttpClient3.1, HttpClient4. 
+        A <a 
href="../usermanual/component_reference.html#Duration_Assertion">Duration 
Assertion</a> can be used to detect responses that take too long to complete.
+        </div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Server 
(proxy)</div><div class="description req-false">Hostname or IP address of a 
proxy server to perform request. [Do not include the http:// prefix.]</div><div 
class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Port</div><div 
class="description req-false">Port the proxy server is listening to.</div><div 
class="required req-false">No, unless proxy hostname is specified</div></div>
+        <div class="property"><div class="name req-false">Username</div><div 
class="description req-false">(Optional) username for proxy server.</div><div 
class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Password</div><div 
class="description req-false">(Optional) password for proxy server. (N.B. this 
is stored unencrypted in the test plan)</div><div class="required 
req-false">No</div></div>
+        <div class="property"><div class="name 
req-false">Implementation</div><div class="description req-false">Java, 
HttpClient3.1, HttpClient4. 
         If not specified (and not defined by HTTP Request Defaults), the 
default depends on the value of the JMeter property
-        
-<code>
-jmeter.httpsampler
-</code>
-, failing that, the HttpClient4 implementation is used.
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Protocol</td>
-<td>HTTP, HTTPS or FILE. Default: HTTP
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Method</td>
-<td>GET, POST, HEAD, TRACE, OPTIONS, PUT, DELETE, PATCH (not supported for
+        <span class="code">jmeter.httpsampler</span>, failing that, the 
HttpClient4 implementation is used.</div><div class="required 
req-false">No</div></div>
+        <div class="property"><div class="name req-false">Protocol</div><div 
class="description req-false">HTTP, HTTPS or FILE. Default: HTTP</div><div 
class="required req-false">No</div></div>
+        <div class="property"><div class="name req-true">Method</div><div 
class="description req-true">GET, POST, HEAD, TRACE, OPTIONS, PUT, DELETE, 
PATCH (not supported for
         JAVA implementation). With HttpClient4, the following methods related 
to WebDav are also allowed: COPY, LOCK, MKCOL, MOVE,
-        PROPFIND, PROPPATCH, UNLOCK, REPORT, MKCALENDAR.
-</td>
-<td>
-Yes
-</td>
-</tr>
-<tr>
-<td>Content Encoding</td>
-<td>
+        PROPFIND, PROPPATCH, UNLOCK, REPORT, MKCALENDAR.</div><div 
class="required req-true">Yes</div></div>
+        <div class="property"><div class="name req-false">Content 
Encoding</div><div class="description req-false">
         Content encoding to be used (for POST, PUT, PATCH and FILE). 
         This the the character encoding to be used, and is not related to the 
Content-Encoding HTTP header.
-        
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Redirect Automatically</td>
-<td>
+        </div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Redirect 
Automatically</div><div class="description req-false">
         Sets the underlying http protocol handler to automatically follow 
redirects,
         so they are not seen by JMeter, and thus will not appear as samples.
         Should only be used for GET and HEAD requests.
         The HttpClient sampler will reject attempts to use it for POST or PUT.
-        
-<b>
-Warning: see below for information on cookie and header handling.
-</b>
-
-        
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Follow Redirects</td>
-<td>
+        <b>Warning: see below for information on cookie and header 
handling.</b>
+        </div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Follow 
Redirects</div><div class="description req-false">
         This only has any effect if "Redirect Automatically" is not enabled.
         If set, the JMeter sampler will check if the response is a redirect 
and follow it if so.
         The initial redirect and further responses will appear as additional 
samples.
         The URL and data fields of the parent sample will be taken from the 
final (non-redirected)
         sample, but the parent byte count and elapsed time include all samples.
         The latency is taken from the initial response (versions of JMeter 
after 2.3.4 - previously it was zero).
-        Note that the HttpClient sampler may log the following message:
-<br>
-
-
-        "Redirect requested but followRedirects is disabled"
-<br>
-
-
+        Note that the HttpClient sampler may log the following message:<br>
+        "Redirect requested but followRedirects is disabled"<br>
         This can be ignored.
-        
-<br>
-
-
+        <br>
         In versions after 2.3.4, JMeter will collapse paths of the form 
'/../segment' in
-        both absolute and relative redirect URLs. For example 
http://host/one/../two => http://host/two.
+        both absolute and relative redirect URLs. For example 
http://host/one/../two =&gt; http://host/two.
         If necessary, this behaviour can be suppressed by setting the JMeter 
property
-        
-<code>
-httpsampler.redirect.removeslashdotdot=false
-</code>
-
-        
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Use KeepAlive</td>
-<td>JMeter sets the Connection: keep-alive header. This does not work properly 
with the default HTTP implementation, as connection re-use is not under 
user-control. 
-                  It does work with the Apache HttpComponents HttpClient 
implementations.
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Use multipart/form-data for HTTP POST</td>
-<td>
+        <span class="code">httpsampler.redirect.removeslashdotdot=false</span>
+        </div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Use 
KeepAlive</div><div class="description req-false">JMeter sets the Connection: 
keep-alive header. This does not work properly with the default HTTP 
implementation, as connection re-use is not under user-control. 
+                  It does work with the Apache HttpComponents HttpClient 
implementations.</div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Use 
multipart/form-data for HTTP POST</div><div class="description req-false">
         Use a multipart/form-data or application/x-www-form-urlencoded post 
request
-        
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Browser-compatible headers</td>
-<td>
+        </div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Browser-compatible 
headers</div><div class="description req-false">
         When using multipart/form-data, this suppresses the Content-Type and 
         Content-Transfer-Encoding headers; only the Content-Disposition header 
is sent.
-        
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Path</td>
-<td>The path to resource (for example, /servlets/myServlet). If the
+        </div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-true">Path</div><div 
class="description req-true">The path to resource (for example, 
/servlets/myServlet). If the
 resource requires query string parameters, add them below in the
 "Send Parameters With the Request" section.
-
 <b>
-
 As a special case, if the path starts with "http://"; or "https://"; then this 
is used as the full URL.
-
 </b>
-
 In this case, the server, port and protocol fields are ignored; parameters are 
also ignored for GET and DELETE methods.
 Also please note that the path is not encoded - apart from replacing spaces 
with %20 -
 so unsafe characters may need to be encoded to avoid errors such as 
URISyntaxException.
-
-</td>
-<td>
-Yes
-</td>
-</tr>
-<tr>
-<td>Send Parameters With the Request</td>
-<td>The query string will
-        be generated from the list of parameters you provide.  Each parameter 
has a 
-<i>
-name
-</i>
- and
-        
-<i>
-value
-</i>
-, the options to encode the parameter, and an option to include or exclude an 
equals sign (some applications
+</div><div class="required req-true">Yes</div></div>
+        <div class="property"><div class="name req-false">Send Parameters With 
the Request</div><div class="description req-false">The query string will
+        be generated from the list of parameters you provide.  Each parameter 
has a <i>name</i> and
+        <i>value</i>, the options to encode the parameter, and an option to 
include or exclude an equals sign (some applications
         don't expect an equals when the value is the empty string).  The query 
string will be generated in the correct fashion, depending on
         the choice of "Method" you made (ie if you chose GET or DELETE, the 
query string will be
         appended to the URL, if POST or PUT, then it will be sent separately). 
 Also, if you are
         sending a file using a multipart form, the query string will be 
created using the
         multipart form specifications.
-        
-<b>
-See below for some further information on parameter handling.
-</b>
-
-        
-<p>
-
+        <b>See below for some further information on parameter handling.</b>
+        <p>
         Additionally, you can specify whether each parameter should be URL 
encoded.  If you are not sure what this
         means, it is probably best to select it.  If your values contain 
characters such as the following then encoding is usually required.:
-        
-<ul>
-
-            
-<li>
-ASCII Control Chars
-</li>
-
-            
-<li>
-Non-ASCII characters
-</li>
-
-            
-<li>
-Reserved characters:URLs use some characters for special use in defining their 
syntax. When these characters are not used in their special role inside a URL, 
they need to be encoded, example : '$', '&', '+', ',' , '/', ':', ';', '=', 
'?', '@'
-</li>
-
-            
-<li>
-Unsafe characters: Some characters present the possibility of being 
misunderstood within URLs for various reasons. These characters should also 
always be encoded, example : ' ', '<', '>', '#', '%', ...
-</li>
-
-        
-</ul>
-
-        
-</p>
-
-        
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>File Path:</td>
-<td>Name of the file to send.  If left blank, JMeter
+        <ul>
+            <li>ASCII Control Chars</li>
+            <li>Non-ASCII characters</li>
+            <li>Reserved characters:URLs use some characters for special use 
in defining their syntax. When these characters are not used in their special 
role inside a URL, they need to be encoded, example : '$', '&', '+', ',' , '/', 
':', ';', '=', '?', '@'</li>
+            <li>Unsafe characters: Some characters present the possibility of 
being misunderstood within URLs for various reasons. These characters should 
also always be encoded, example : ' ', '&lt;', '&gt;', '#', '%', ...</li>
+        </ul>
+        </p>
+        </div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">File Path:</div><div 
class="description req-false">Name of the file to send.  If left blank, JMeter
         does not send a file, if filled in, JMeter automatically sends the 
request as
         a multipart form request.
-        
-<p>
-
+        <p>
         If it is a POST or PUT or PATCH request and there is a single file 
whose 'Parameter name' attribute (below) is omitted, 
         then the file is sent as the entire body
         of the request, i.e. no wrappers are added. This allows arbitrary 
bodies to be sent. This functionality is present for POST requests
         after version 2.2, and also for PUT requests after version 2.3.
-        
-<b>
-See below for some further information on parameter handling.
-</b>
-
-        
-</p>
-
-        
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Parameter name:</td>
-<td>Value of the "name" web request parameter.
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>MIME Type</td>
-<td>MIME type (for example, text/plain).
+        <b>See below for some further information on parameter handling.</b>
+        </p>
+        </div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Parameter 
name:</div><div class="description req-false">Value of the "name" web request 
parameter.</div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">MIME Type</div><div 
class="description req-false">MIME type (for example, text/plain).
         If it is a POST or PUT or PATCH request and either the 'name' 
attribute (below) are omitted or the request body is
         constructed from parameter values only, then the value of this field 
is used as the value of the
         content-type request header.
-        
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Retrieve All Embedded Resources from HTML Files</td>
-<td>Tell JMeter to parse the HTML file
+        </div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Retrieve All 
Embedded Resources from HTML Files</div><div class="description req-false">Tell 
JMeter to parse the HTML file
 and send HTTP/HTTPS requests for all images, Java applets, JavaScript files, 
CSSs, etc. referenced in the file.
         See below for more details.
-        
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Use as monitor</td>
-<td>For use with the 
-<a href="../usermanual/component_reference.html#Monitor_Results">Monitor 
Results</a>
- listener.
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Save response as MD5 hash?</td>
-<td>
+        </div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Use as 
monitor</div><div class="description req-false">For use with the <a 
href="../usermanual/component_reference.html#Monitor_Results">Monitor 
Results</a> listener.</div><div class="required req-false">No</div></div>
+       <div class="property"><div class="name req-false">Save response as MD5 
hash?</div><div class="description req-false">
        If this is selected, then the response is not stored in the sample 
result.
        Instead, the 32 character MD5 hash of the data is calculated and stored 
instead.
        This is intended for testing large amounts of data.
-       
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Embedded URLs must match:</td>
-<td>
+       </div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Embedded URLs must 
match:</div><div class="description req-false">
         If present, this must be a regular expression that is used to match 
against any embedded URLs found.
         So if you only want to download embedded resources from 
http://example.com/, use the expression:
         http://example\.com/.*
-        
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Use concurrent pool</td>
-<td>Use a pool of concurrent connections to get embedded resources.
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Size</td>
-<td>Pool size for concurrent connections used to get embedded resources.
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Source address type</td>
-<td>
-        
-<i>
-[Only for HTTP Request with HTTPClient implementation]
-</i>
- 
-<br>
-
-
+        </div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Use concurrent 
pool</div><div class="description req-false">Use a pool of concurrent 
connections to get embedded resources.</div><div class="required 
req-false">No</div></div>
+        <div class="property"><div class="name req-false">Size</div><div 
class="description req-false">Pool size for concurrent connections used to get 
embedded resources.</div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Source address 
type</div><div class="description req-false">
+        <i>[Only for HTTP Request with HTTPClient implementation]</i> <br>
         To distinguish the source address value, select the type of these:
-        
-<ul>
-
-        
-<li>
-Select 
-<i>
-IP/Hostname
-</i>
- to use a specific IP address or a (local) hostname
-</li>
-
-        
-<li>
-Select 
-<i>
-Device
-</i>
- to pick the first available address for that interface which
-        this may be either IPv4 or IPv6
-</li>
-
-        
-<li>
-Select 
-<i>
-Device IPv4
-</i>
-To select the IPv4 address of the device name (like eth0, lo, em0, etc.)
-</li>
-
-        
-<li>
-Select 
-<i>
-Device IPv6
-</i>
-To select the IPv6 address of the device name (like eth0, lo, em0, etc.)
-</li>
-
-        
-</ul>
-
-        
-</td>
-<td>
-No
-</td>
-</tr>
-<tr>
-<td>Source address field</td>
-<td>
-        
-<i>
-[Only for HTTP Request with HTTPClient implementation]
-</i>
- 
-<br>
-
-
+        <ul>
+        <li>Select <i>IP/Hostname</i> to use a specific IP address or a 
(local) hostname</li>
+        <li>Select <i>Device</i> to pick the first available address for that 
interface which
+        this may be either IPv4 or IPv6</li>
+        <li>Select <i>Device IPv4</i>To select the IPv4 address of the device 
name (like eth0, lo, em0, etc.)</li>
+        <li>Select <i>Device IPv6</i>To select the IPv6 address of the device 
name (like eth0, lo, em0, etc.)</li>
+        </ul>
+        </div><div class="required req-false">No</div></div>
+        <div class="property"><div class="name req-false">Source address 
field</div><div class="description req-false">
+        <i>[Only for HTTP Request with HTTPClient implementation]</i> <br>
         This property is used to enable IP Spoofing.
         It override the default local IP address for this sample.
         The JMeter host must have multiple IP addresses (i.e. IP aliases, 
network interfaces, devices).
-        The value can be a host name, IP address, or a network interface 
device such as "eth0" or "lo" or "wlan0".
-<br>
-
-
-        If the property 
-<b>
-httpclient.localaddress
-</b>
- is defined, that is used for all HttpClient requests.
-        
-</td>
-<td>
-No
-</td>
-</tr>
-</table>
-</p>
+        The value can be a host name, IP address, or a network interface 
device such as "eth0" or "lo" or "wlan0".<br>
+        If the property <b>httpclient.localaddress</b> is defined, that is 
used for all HttpClient requests.
+        </div><div class="required req-false">No</div></div>
+</div>
 <p>
-
-
-<b>
-N.B.
-</b>
- when using Automatic Redirection, cookies are only sent for the initial URL.
+<b>N.B.</b> when using Automatic Redirection, cookies are only sent for the 
initial URL.
 This can cause unexpected behaviour for web-sites that redirect to a local 
server.
 E.g. if www.example.com redirects to www.example.co.uk.
 In this case the server will probably return cookies for both URLs, but JMeter 
will only see the cookies for the last
@@ -1335,17 +349,9 @@ rather than www.example.co.uk, it will n
 Likewise, Headers are sent for the initial request, and won't be sent for the 
redirect.
 This is generally only a problem for manually created test plans,
 as a test plan created using a recorder would continue from the redirected URL.
-
 </p>
 <p>
-
-
-<b>
-Parameter Handling:
-</b>
-<br>
-
-
+<b>Parameter Handling:</b><br>
 For the POST and PUT method, if there is no file to send, and the name(s) of 
the parameter(s) are omitted,
 then the body is created by concatenating all the value(s) of the parameters.
 Note that the values are concatenated without adding any end-of-line 
characters.
@@ -1353,909 +359,300 @@ These can be added by using the __char()
 This allows arbitrary bodies to be sent.
 The values are encoded if the encoding flag is set (versions of JMeter after 
2.3).
 See also the MIME Type above how you can control the content-type request 
header that is sent.
-
 <br>
-
-
 For other methods, if the name of the parameter is missing,
 then the parameter is ignored. This allows the use of optional parameters 
defined by variables.
 (versions of JMeter after 2.3)
-
 </p>
 <br>
-
-<p>
-Since JMeter 2.6, you have the option to switch to Post Body when a request 
has only unnamed parameters
+<p>Since JMeter 2.6, you have the option to switch to Post Body when a request 
has only unnamed parameters
 (or no parameters at all).
 This option is useful in the following cases (amongst others):
-
 <ul>
-
-
-<li>
-GWT RPC HTTP Request
-</li>
-
-
-<li>
-JSON REST HTTP Request
-</li>
-
-
-<li>
-XML REST HTTP Request
-</li>
-
-
-<li>
-SOAP HTTP Request
-</li>
-
-
+<li>GWT RPC HTTP Request</li>
+<li>JSON REST HTTP Request</li>
+<li>XML REST HTTP Request</li>
+<li>SOAP HTTP Request</li>
 </ul>
-
 Note that once you leave the Tree node, you cannot switch back to the 
parameter tab unless you clear the Post Body tab of data.
-
 </p>
 <p>
-
 In Post Body mode, each line will be sent with CRLF appended, apart from the 
last line.
 To send a CRLF after the last line of data, just ensure that there is an empty 
line following it.
 (This cannot be seen, except by noting whether the cursor can be placed on the 
subsequent line.)
-
 </p>
-<p><table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='902' 
height='421' 
src="../images/screenshots/http-request-raw-single-parameter.png"/><br>
-<font size="-1">Figure 1 - HTTP Request with one unnamed parameter
-</font></td></tr></table></p>
-<p><table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='908' 
height='212' src="../images/screenshots/http-request-confirm-raw-body.png"/><br>
-<font size="-1">Figure 2 - Confirm dialog to switch
-</font></td></tr></table></p>
-<p><table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='905' 
height='423' src="../images/screenshots/http-request-raw-body.png"/><br>
-<font size="-1">Figure 3 - HTTP Request using Body Data
-</font></td></tr></table></p>
-<p>
-
-
-<b>
-Method Handling:
-</b>
-<br>
-
+<figure><a 
href="../images/screenshots/http-request-raw-single-parameter.png"><img 
src="../images/screenshots/http-request-raw-single-parameter.png" width="902" 
height="421" alt="Figure 1 - HTTP Request with one unnamed 
parameter"></a><figcaption>Figure 1 - HTTP Request with one unnamed 
parameter</figcaption></figure>
+<figure><a href="../images/screenshots/http-request-confirm-raw-body.png"><img 
src="../images/screenshots/http-request-confirm-raw-body.png" width="908" 
height="212" alt="Figure 2 - Confirm dialog to switch"></a><figcaption>Figure 2 
- Confirm dialog to switch</figcaption></figure>
+<figure><a href="../images/screenshots/http-request-raw-body.png"><img 
src="../images/screenshots/http-request-raw-body.png" width="905" height="423" 
alt="Figure 3 - HTTP Request using Body Data"></a><figcaption>Figure 3 - HTTP 
Request using Body Data</figcaption></figure>
 
+<p>
+<b>Method Handling:</b><br>
 The POST, PUT and PATCH request methods work similarly, except that the PUT 
and PATCH methods do not support multipart requests
 or file upload.
 The PUT and PATCH method body must be provided as one of the following:
-
 <ul>
-
-
-<li>
-define the body as a file with empty Parameter name field; in which case the 
MIME Type is used as the Content-Type
-</li>
-
-
-<li>
-define the body as parameter value(s) with no name
-</li>
-
-
-<li>
-use the Post Body tab
-</li>
-
-
+<li>define the body as a file with empty Parameter name field; in which case 
the MIME Type is used as the Content-Type</li>
+<li>define the body as parameter value(s) with no name</li>
+<li>use the Post Body tab</li>
 </ul>
-
 If you define any parameters with a name in either the sampler or Http
 defaults then nothing is sent.
 PUT and PATCH require a Content-Type. 
 If not using a file, attach a Header Manager to the sampler and define the 
Content-Type there.
 The GET and DELETE request methods work similarly to each other.
-
 </p>
-<p>
-Upto and including JMeter 2.1.1, only responses with the content-type 
"text/html" were scanned for
+<p>Upto and including JMeter 2.1.1, only responses with the content-type 
"text/html" were scanned for
 embedded resources. Other content-types were assumed to be something other 
than HTML.
-JMeter 2.1.2 introduces the a new property 
-<b>
-HTTPResponse.parsers
-</b>
-, which is a list of parser ids,
- e.g. 
-<b>
-htmlParser
-</b>
- and 
-<b>
-wmlParser
-</b>
-. For each id found, JMeter checks two further properties:
-</p>
-<ul>
-
- 
-<li>
-id.types - a list of content types
-</li>
-
- 
-<li>
-id.className - the parser to be used to extract the embedded resources
-</li>
-
- 
-</ul>
-<p>
-See jmeter.properties file for the details of the settings. 
+JMeter 2.1.2 introduces the a new property <b>HTTPResponse.parsers</b>, which 
is a list of parser ids,
+ e.g. <b>htmlParser</b> and <b>wmlParser</b>. For each id found, JMeter checks 
two further properties:</p>
+ <ul>
+ <li>id.types - a list of content types</li>
+ <li>id.className - the parser to be used to extract the embedded 
resources</li>
+ </ul>
+ <p>See jmeter.properties file for the details of the settings. 
  If the HTTPResponse.parser property is not set, JMeter reverts to the 
previous behaviour,
- i.e. only text/html responses will be scanned
-</p>
-<b>
-Emulating slow connections:
-</b>
-<br>
-
+ i.e. only text/html responses will be scanned</p>
+<b>Emulating slow connections:</b><br>
+HttpClient31, HttpClient4 and Java Sampler support emulation of slow 
connections; see the following entries in jmeter.properties:
 <pre>
-
-# Define characters per second > 0 to emulate slow connections
+# Define characters per second &gt; 0 to emulate slow connections
 #httpclient.socket.http.cps=0
 #httpclient.socket.https.cps=0
-
-</pre>
-<p>
-<b>
-Response size calculation
-</b>
-<br>
-
-
-Optional properties to allow change the method to get response size:
-<br>
-
-
-
-<ul>
-<li>
-Gets the real network size in bytes for the body response
-
-<pre>
-sampleresult.getbytes.body_real_size=true
-</pre>
-</li>
-
-
-<li>
-Add HTTP headers to full response size
-
-<pre>
-sampleresult.getbytes.headers_size=true
 </pre>
-</li>
-</ul>
-
-
+<p><b>Response size calculation</b><br>
+Optional properties to allow change the method to get response size:<br>
+<ul><li>Gets the real network size in bytes for the body response
+<pre>sampleresult.getbytes.body_real_size=true</pre></li>
+<li>Add HTTP headers to full response size
+<pre>sampleresult.getbytes.headers_size=true</pre></li></ul>
 
-<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" 
cellpadding="2">
-<tr><td>
+<div class="clear"></div><div class="note">
 The Java and HttpClient3 inplementations do not include transport overhead 
such as
-chunk headers in the response body size.
-<br>
-
-
+chunk headers in the response body size.<br>
 The HttpClient4 implementation does include the overhead in the response body 
size,
 so the value may be greater than the number of bytes in the response content.
+</div><div class="clear"></div>
 
-</td></tr>
-</table>
-</p>
-
-
-
-<p>
-<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" 
cellpadding="2">
-<tr><td>Versions of JMeter before 2.5 returns only data response size 
(uncompressed if request uses gzip/defate mode).
-
-<br>
-
-To return to settings before version 2.5, set the two properties to false.
-</td></tr>
-</table>
-</p>
-
-
+<div class="clear"></div><div class="note">Versions of JMeter before 2.5 
returns only data response size (uncompressed if request uses gzip/defate mode).
+<br>To return to settings before version 2.5, set the two properties to 
false.</div><div class="clear"></div>
 </p>
 <p>
-
-
-<b>
-Retry handling
-</b>
-<br>
-
-
+<b>Retry handling</b><br>
 In version 2.5 of JMeter, the HttpClient4 and Commons HttpClient 3.1 samplers 
used the default retry count, which was 3.
 In later versions, the retry count has been set to 1, which is what the Java 
implementation appears to do.
 The retry count can be overridden by setting the relevant JMeter property, for 
example:
-
 <pre>
-
 httpclient4.retrycount=3
 httpclient3.retrycount=3
-
 </pre>
-
-
 </p>
 <p>
-
-
-<b>
-Note: Certificates does not conform to algorithm constraints
-</b>
-<br>
-
-
-You may encounter the following error: 
-<i>
-java.security.cert.CertificateException: Certificates does not conform to 
algorithm constraints
-</i>
-
+<b>Note: Certificates does not conform to algorithm constraints</b><br>
+You may encounter the following error: 
<i>java.security.cert.CertificateException: Certificates does not conform to 
algorithm constraints</i>
  if you run a HTTPS request on a web site with a SSL certificate (itself or 
one of SSL certificates in its chain of trust) with a signature
  algorithm using MD2 (like md2WithRSAEncryption) or with a SSL certificate 
with a size lower than 1024 bits.
-
-</p>
-<p>
-
+</p><p>
 This error is related to increased security in Java 7 version u16 (MD2) and 
version u40 (Certificate size lower than 1024 bits), and Java 8 too.
-
+</p><p>
+To allow you to perform your HTTPS request, you can downgrade the security of 
your Java installation by editing 
+the Java <b>jdk.certpath.disabledAlgorithms</b> property. Remove the MD2 value 
or the constraint on size, depending on your case.
+</p><p>
+This property is in this file:
+<pre>JAVA_HOME/jre/lib/security/java.security</pre>
+See  <a href="http://bz.apache.org/bugzilla/show_bug.cgi?id=56357";>
+      Bug
+      56357</a> for details.
 </p>
-<p>
+<div class="links"><div class="title">See also:</div><ul class="links"><li><a 
href="test_plan.html#assertions">Assertion</a></li><li><a 
href="build-web-test-plan.html">Building a Web Test Plan</a></li><li><a 
href="build-adv-web-test-plan.html">Building an Advanced Web Test 
Plan</a></li><li><a 
href="../usermanual/component_reference.html#HTTP_Authorization_Manager">HTTP 
Authorization Manager</a></li><li><a 
href="../usermanual/component_reference.html#HTTP_Cookie_Manager">HTTP Cookie 
Manager</a></li><li><a 
href="../usermanual/component_reference.html#HTTP_Header_Manager">HTTP Header 
Manager</a></li><li><a 
href="../usermanual/component_reference.html#HTML_Link_Parser">HTML Link 
Parser</a></li><li><a 
href="../usermanual/component_reference.html#HTTP(S)_Test_Script_Recorder">HTTP(S)
 Test Script Recorder</a></li><li><a 
href="../usermanual/component_reference.html#HTTP_Request_Defaults">HTTP 
Request Defaults</a></li><li><a 
href="build-adv-web-test-plan.html#session_url_rewriting">HTTP Requ
 ests and Session ID's: URL Rewriting</a></li></ul></div>
 
-To allow you to perform your HTTPS request, you can downgrade the security of 
your Java installation by editing 
-the Java 
-<b>
-jdk.certpath.disabledAlgorithms
-</b>
- property. Remove the MD2 value or the constraint on size, depending on your 
case.
+<div class="go-top"><a href="#">^</a></div></div>
 
+<div class="component"><h2 id="JDBC_Request">JDBC Request<a 
class="sectionlink" href="#JDBC_Request" title="Link to 
here">&para;</a></h2><div class="screenshot"><a 
href="../images/screenshots/jdbctest/jdbc-request.png"><img 
src="../images/screenshots/jdbctest/jdbc-request.png" width="466" height="334" 
alt="Screenshot for JDBC Request"></a></div>
+
+<div class="description"><p>This sampler lets you send an JDBC Request (an SQL 
query) to a database.</p>
+<p>Before using this you need to set up a
+<a 
href="../usermanual/component_reference.html#JDBC_Connection_Configuration">JDBC
 Connection Configuration</a> Configuration element
 </p>
 <p>
-
-This property is in this file:
-
+If the Variable Names list is provided, then for each row returned by a Select 
statement, the variables are set up
+with the value of the corresponding column (if a variable name is provided), 
and the count of rows is also set up.
+For example, if the Select statement returns 2 rows of 3 columns, and the 
variable list is <span class="code">A,,C</span>,
+then the following variables will be set up:
 <pre>
-JAVA_HOME/jre/lib/security/java.security
+A_#=2 (number of rows)
+A_1=column 1, row 1
+A_2=column 1, row 2
+C_#=2 (number of rows)
+C_1=column 3, row 1
+C_2=column 3, row 2
 </pre>
-
-See  
-<a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=56357";>Bug 
56357</a>
- for details.
-
+If the Select statement returns zero rows, then the A_# and C_# variables 
would be set to 0, and no other variables would be set.
 </p>
-<p><b>See Also:</b>
-<ul>
-<li><a href="test_plan.html#assertions">Assertion</a></li>
-<li><a href="build-web-test-plan.html">Building a Web Test Plan</a></li>
-<li><a href="build-adv-web-test-plan.html">Building an Advanced Web Test 
Plan</a></li>
-<li><a 
href="../usermanual/component_reference.html#HTTP_Authorization_Manager">HTTP 
Authorization Manager</a>
-</li>
-<li><a href="../usermanual/component_reference.html#HTTP_Cookie_Manager">HTTP 
Cookie Manager</a>
-</li>
-<li><a href="../usermanual/component_reference.html#HTTP_Header_Manager">HTTP 
Header Manager</a>
-</li>
-<li><a href="../usermanual/component_reference.html#HTML_Link_Parser">HTML 
Link Parser</a>
-</li>
-<li><a 
href="../usermanual/component_reference.html#HTTP(S)_Test_Script_Recorder">HTTP(S)
 Test Script Recorder</a>
-</li>
-<li><a 
href="../usermanual/component_reference.html#HTTP_Request_Defaults">HTTP 
Request Defaults</a>
-</li>
-<li><a href="build-adv-web-test-plan.html#session_url_rewriting">HTTP Requests 
and Session ID's: URL Rewriting</a></li>
-</ul>
-</p>
-</td></tr>
-<tr><td><br></td></tr>
-</table>
-<hr>
-<table border="0" cellspacing="0" cellpadding="2">
-<tr><td>
-<font face="arial,helvetica,sanserif">
-<h3>
-<a name="JDBC_Request">18.1.3 JDBC Request</a>
-<a class="sectionlink" href="#JDBC_Request" title="Link to 
here">&para;</a></h3>
-</font>
-</td></tr>
-<tr><td>
-<p>
-This sampler lets you send an JDBC Request (an SQL query) to a database.
-</p>
-
-
-<p>
-Before using this you need to set up a
-
-<a 
href="../usermanual/component_reference.html#JDBC_Connection_Configuration">JDBC
 Connection Configuration</a>
- Configuration element
-
-</p>
-
-
-<p>
-
-If the Variable Names list is provided, then for each row returned by a Select 
statement, the variables are set up
-with the value of the corresponding column (if a variable name is provided), 
and the count of rows is also set up.
-For example, if the Select statement returns 2 rows of 3 columns, and the 
variable list is 
-<code>
-A,,C
-</code>
-,
-then the following variables will be set up:
-
-<pre>
-
-A_#=2 (number of rows)
-A_1=column 1, row 1
-A_2=column 1, row 2
-C_#=2 (number of rows)
-C_1=column 3, row 1

[... 25236 lines stripped ...]

Reply via email to