Modified: jmeter/trunk/docs/usermanual/component_reference.html
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/docs/usermanual/component_reference.html?rev=1808646&r1=1808645&r2=1808646&view=diff
==============================================================================
--- jmeter/trunk/docs/usermanual/component_reference.html (original)
+++ jmeter/trunk/docs/usermanual/component_reference.html Sun Sep 17 18:22:16 
2017
@@ -1,36 +1,676 @@
 <!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
+<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 
href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css";
 rel="stylesheet" type="text/css"><link rel="stylesheet" type="text/css" 
href="../css/new-style.css"><link rel="apple-touch-icon-precomposed" 
href="../images/apple-touch-icon.png"><link rel="icon" 
href="../images/favicon.png"><meta name="msapplication-TileColor" 
content="#ffffff"><meta name="msapplication-TileImage" 
content="../images/mstile-144x144.png"><meta name="theme-color" 
content="#ffffff"></head><body role="document"><a href="#content" 
class="hidden">Main content</a><div class="header"><!--
+          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 
href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css";
 rel="stylesheet" type="text/css">
+<link rel="stylesheet" type="text/css" href="../css/new-style.css">
+<link rel="apple-touch-icon-precomposed" href="../images/apple-touch-icon.png">
+<link rel="icon" href="../images/favicon.png">
+<meta name="msapplication-TileColor" content="#ffffff">
+<meta name="msapplication-TileImage" content="../images/mstile-144x144.png">
+<meta name="theme-color" content="#ffffff">
+</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" class="asf-logo logo" src="../images/asf-logo.svg" alt="Logo 
ASF"></a></div><!--
+          -->
+<div>
+<a href="http://www.apache.org";><img title="Apache Software Foundation" 
class="asf-logo logo" src="../images/asf-logo.svg" alt="Logo ASF"></a>
+</div>
+<!--
               PROJECT LOGO
-            --><div><a href="http://jmeter.apache.org/";><img class="logo" 
src="../images/logo.svg" alt="Apache JMeter"></a></div><div class="banner"><a 
href="http://www.apache.org/events/current-event.html";><img 
src="http://www.apache.org/events/current-event-234x60.png"; alt="Current Apache 
event teaser"></a><div class="clear"></div></div></div><div class="nav"><ul 
class="menu"><li onClick="return true"><div 
class="menu-title">About</div><ul><li><a 
href="../index.html">Overview</a></li><li><a 
href="http://www.apache.org/licenses/";>License</a></li></ul></li></ul><ul 
class="menu"><li onClick="return true"><div 
class="menu-title">Download</div><ul><li><a 
href="../download_jmeter.cgi">Download Releases</a></li><li><a 
href="../changes.html">Release Notes</a></li></ul></li></ul><ul 
class="menu"><li onClick="return true"><div 
class="menu-title">Documentation</div><ul><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="../usermanual/properties_reference.html">Properties 
Reference</a></li><li><a href="../changes_history.html">Change 
History</a></li><li><a href="../api/index.html">Javadocs</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 onClick="return true"><div 
class="menu-title">Tutorials</div><ul><li><a 
href="../usermanual/jmeter_distributed_testing_step_by_step.html">Distributed 
Testing</a></li><li><a 
href="../usermanual/jmeter_proxy_step_by_step.html">Recording 
Tests</a></li><li><a href="../usermanual/junitsampler_tutorial.html">JUnit 
Sampler</a></li><li><a 
href="../usermanual/jmeter_accesslog_sampler_step_by_step.html">Access Log 
 Sampler</a></li><li><a href="../usermanual/jmeter_tutorial.html">Extending 
JMeter</a></li></ul></li></ul><ul class="menu"><li onClick="return true"><div 
class="menu-title">Community</div><ul><li><a href="../issues.html">Issue 
Tracking</a></li><li><a href="../mail.html">Mailing Lists</a></li><li><a 
href="../svnindex.html">Source Repositories</a></li><li><a 
href="../building.html">Building and Contributing</a></li><li><a 
href="https://projects.apache.org/project.html?jmeter";>Project info at 
Apache</a></li><li><a 
href="http://wiki.apache.org/jmeter/JMeterCommitters";>Contributors</a></li></ul></li></ul><ul
 class="menu"><li onClick="return true"><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"><div 
class="social-media"><ul class="social-media-links"><li class="twitter"><a 
href="https://twitter.com/ApacheJMeter"; title="Follow us on Twitter"><i 
class="fa fa-twitter" aria-hidden="true"></i>Twitter</a></li><li 
class="github"><a href="https://github.com/apache/jmeter"; title="Fork us on 
github"><i class="fa fa-github" 
aria-hidden="true"></i>github</a></li></ul></div><ul class="pagelinks"><li><a 
href="boss.html">&lt; Prev</a></li><li><a 
href="../index.html">Index</a></li><li><a href="properties_reference.html">Next 
&gt;</a></li></ul><ul class="section-index"><li><a href="#introduction">19 
Introduction</a><ul></ul></li><li><a href="#samplers">19.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="#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_(DEPRECATED)">BSF Sampler (DEPRECATED)</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_(DEPRECATED)">MongoDB Script 
(DEPRECATED)</a></li></ul></li><li><a href="#logic_controllers">19.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 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
 ><li><a href="#listeners">19.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="#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="#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_(DEPRECATED)">BSF Listener (DEPRECATED)</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">19.4 Configuration 
Elements</a><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 C
 onfiguration</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_(DEPRECATED)">MongoDB Source Config 
(DEPRECATED)</a></li></ul></li><li><a href="#assertions">19.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_Assert
 ion">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_(DEPRECATED)">BSF Assertion (DEPRECATED)</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><li><a 
href="#timers">19.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_(DEPRECATED)">BSF Timer (DEPRECATED)</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">19.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="#User_Parameters">User 
 >Parameters</a></li><li><a href="#BeanShell_PreProcessor">BeanShell 
 >PreProcessor</a></li><li><a href="#BSF_PreProcessor_(DEPRECATED)">BSF 
 >PreProcessor (DEPRECATED)</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><li><a href="#Sample_Timeout">Sample 
 >Timeout</a></li></ul></li><li><a href="#postprocessors">19.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 hr
 ef="#Result_Status_Action_Handler">Result Status Action Handler</a></li><li><a 
href="#BeanShell_PostProcessor">BeanShell PostProcessor</a></li><li><a 
href="#BSF_PostProcessor_(DEPRECATED)">BSF PostProcessor 
(DEPRECATED)</a></li><li><a href="#JSR223_PostProcessor">JSR223 
PostProcessor</a></li><li><a href="#JDBC_PostProcessor">JDBC 
PostProcessor</a></li><li><a href="#JSON_Extractor">JSON 
Extractor</a></li></ul></li><li><a href="#Miscellaneous_Features">19.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
+            -->
+<div>
+<a href="http://jmeter.apache.org/";><img class="logo" src="../images/logo.svg" 
alt="Apache JMeter"></a>
+</div>
+<div class="banner">
+<a href="http://www.apache.org/events/current-event.html";><img 
src="http://www.apache.org/events/current-event-234x60.png"; alt="Current Apache 
event teaser"></a>
+<div class="clear"></div>
+</div>
+</div>
+<div class="nav">
+<ul class="menu">
+<li onClick="return true">
+<div class="menu-title">About</div>
+<ul>
+<li>
+<a href="../index.html">Overview</a>
+</li>
+<li>
+<a href="http://www.apache.org/licenses/";>License</a>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="menu">
+<li onClick="return true">
+<div class="menu-title">Download</div>
+<ul>
+<li>
+<a href="../download_jmeter.cgi">Download Releases</a>
+</li>
+<li>
+<a href="../changes.html">Release Notes</a>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="menu">
+<li onClick="return true">
+<div class="menu-title">Documentation</div>
+<ul>
+<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="../usermanual/properties_reference.html">Properties Reference</a>
+</li>
+<li>
+<a href="../changes_history.html">Change History</a>
+</li>
+<li>
+<a href="../api/index.html">Javadocs</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 onClick="return true">
+<div class="menu-title">Tutorials</div>
+<ul>
+<li>
+<a 
href="../usermanual/jmeter_distributed_testing_step_by_step.html">Distributed 
Testing</a>
+</li>
+<li>
+<a href="../usermanual/jmeter_proxy_step_by_step.html">Recording Tests</a>
+</li>
+<li>
+<a href="../usermanual/junitsampler_tutorial.html">JUnit Sampler</a>
+</li>
+<li>
+<a href="../usermanual/jmeter_accesslog_sampler_step_by_step.html">Access Log 
Sampler</a>
+</li>
+<li>
+<a href="../usermanual/jmeter_tutorial.html">Extending JMeter</a>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="menu">
+<li onClick="return true">
+<div class="menu-title">Community</div>
+<ul>
+<li>
+<a href="../issues.html">Issue Tracking</a>
+</li>
+<li>
+<a href="http://www.apache.org/security/";>Security</a>
+</li>
+<li>
+<a href="../mail.html">Mailing Lists</a>
+</li>
+<li>
+<a href="../svnindex.html">Source Repositories</a>
+</li>
+<li>
+<a href="../building.html">Building and Contributing</a>
+</li>
+<li>
+<a href="https://projects.apache.org/project.html?jmeter";>Project info at 
Apache</a>
+</li>
+<li>
+<a href="http://wiki.apache.org/jmeter/JMeterCommitters";>Contributors</a>
+</li>
+</ul>
+</li>
+</ul>
+<ul class="menu">
+<li onClick="return true">
+<div class="menu-title">Foundation</div>
+<ul>
+<li>
+<a href="http://www.apache.org/";>The Apache Software Foundation (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">
+<div class="social-media">
+<ul class="social-media-links">
+<li class="twitter">
+<a href="https://twitter.com/ApacheJMeter"; title="Follow us on Twitter"><i 
class="fa fa-twitter" aria-hidden="true"></i>Twitter</a>
+</li>
+<li class="github">
+<a href="https://github.com/apache/jmeter"; title="Fork us on github"><i 
class="fa fa-github" aria-hidden="true"></i>github</a>
+</li>
+</ul>
+</div>
+<ul class="pagelinks">
+<li>
+<a href="boss.html">&lt; Prev</a>
+</li>
+<li>
+<a href="../index.html">Index</a>
+</li>
+<li>
+<a href="properties_reference.html">Next &gt;</a>
+</li>
+</ul>
+<ul class="section-index">
+<li>
+<a href="#introduction">18 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="#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_(DEPRECATED)">BSF Sampler (DEPRECATED)</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_(DEPRECATED)">MongoDB Script (DEPRECATED)</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 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>
+<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="#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="#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_(DEPRECATED)">BSF Listener (DEPRECATED)</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_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_(DEPRECATED)">MongoDB Source Config 
(DEPRECATED)</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_(DEPRECATED)">BSF Assertion (DEPRECATED)</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>
+<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_(DEPRECATED)">BSF Timer (DEPRECATED)</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="#User_Parameters">User Parameters</a>
+</li>
+<li>
+<a href="#BeanShell_PreProcessor">BeanShell PreProcessor</a>
+</li>
+<li>
+<a href="#BSF_PreProcessor_(DEPRECATED)">BSF PreProcessor (DEPRECATED)</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>
+<li>
+<a href="#Sample_Timeout">Sample Timeout</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_(DEPRECATED)">BSF PostProcessor (DEPRECATED)</a>
+</li>
+<li>
+<a href="#JSR223_PostProcessor">JSR223 PostProcessor</a>
+</li>
+<li>
+<a href="#JDBC_PostProcessor">JDBC PostProcessor</a>
+</li>
+<li>
+<a href="#JSON_Extractor">JSON Extractor</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Miscellaneous_Features">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">19 Introduction<a class="sectionlink" 
href="#introduction" title="Link to here">&para;</a></h1>
+                  </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 Introduction<a class="sectionlink" 
href="#introduction" title="Link to here">&para;</a>
+</h1>
+
 <div class="description">
+
 <p>
 
+
 </p>
- <div class="clear"></div><div class="note">
+ 
+<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 <span class="code">__setProperty()</span> 
function.
-</div><div class="clear"></div>
+ This generally occurs before the test plan starts, so it's not possible to 
change the settings by using the <span class="code"><a 
href="../usermanual/functions.html#__setProperty">__setProperty()</a></span> 
function.
+</div>
+<div class="clear"></div>
+
 <p>
+
 </p>
+
 </div>
-</div><div class="section"><h1 id="samplers">19.1 Samplers<a 
class="sectionlink" href="#samplers" title="Link to here">&para;</a></h1>
+
+</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>
+    
+<p>
     Samplers perform the actual work of JMeter.
     Each sampler (except <a 
href="../usermanual/component_reference.html#Test_Action">Test Action</a>) 
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>
+
 </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="description">
+
+<div class="component">
+<h2 id="FTP_Request">FTP Request<a class="sectionlink" href="#FTP_Request" 
title="Link to here">&para;</a>
+</h2>
+<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
@@ -39,93 +679,237 @@ Controller. When downloading a file, it
 <p>
 Latency is set to the time it takes to login.
 </p>
-</div><div class="screenshot"><figure><a 
href="../images/screenshots/ftptest/ftp-request.png"><img 
src="../images/screenshots/ftptest/ftp-request.png" width="911" height="274" 
alt="Screenshot for Control-Panel of FTP Request"></a><figcaption>Screenshot of 
Control-Panel of FTP Request</figcaption></figure></div><div 
class="properties"><h3 id="FTP_Request_parms1">
+
+</div>
+<div class="screenshot">
+<figure>
+<a href="../images/screenshots/ftptest/ftp-request.png"><img 
src="../images/screenshots/ftptest/ftp-request.png" width="911" height="274" 
alt="Screenshot for Control-Panel of FTP Request"></a>
+<figcaption>Screenshot of Control-Panel of FTP Request</figcaption>
+</figure>
+</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 <span 
class="code">&gt;0</span>, 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">
+        <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 <span 
class="code">&gt;0</span>, 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 <a 
href="../usermanual/component_reference.html#View_Results_Tree">View Results 
Tree</a>.
-        </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><div class="go-top"><a href="#">^</a></div></div>
+        </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>
+<div class="go-top">
+<a href="#">^</a>
+</div>
+</div>
 
-<div class="component"><h2 id="HTTP_Request">HTTP Request<a 
class="sectionlink" href="#HTTP_Request" title="Link to 
here">&para;</a></h2><div class="description">
-        <p>This sampler lets you send an HTTP/HTTPS request to a web server.  
It
+
+<div class="component">
+<h2 id="HTTP_Request">HTTP Request<a class="sectionlink" href="#HTTP_Request" 
title="Link to here">&para;</a>
+</h2>
+<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 (CSS) and resources referenced from those files</li>
-        <li>external scripts</li>
-        <li>frames, iframes</li>
-        <li>background images (body, table, TD, TR)</li>
-        <li>background sound</li>
-        </ul>
-        <p>
+        
+<ul>
+        
+<li>images</li>
+        
+<li>applets</li>
+        
+<li>stylesheets (CSS) and resources referenced from those files</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 <span 
class="code">org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser</span>.
         This can be changed by using the property "<span 
class="code">htmlparser.className</span>" - see <span 
class="code">jmeter.properties</span> for details.
         </p>
-        <p>If you are going to send multiple requests to the same web server, 
consider
+        
+<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>
 
-        <p>Or, instead of manually adding HTTP Requests, you may want to use
+        
+<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></p>
-        <dl>
-        <dt>AJP/1.3 Sampler</dt><dd>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>
+</p>
+        
+<dl>
+        
+<dt>AJP/1.3 Sampler</dt>
+<dd>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.
         </dd>
-        <dt>HTTP Request</dt><dd>this has an implementation drop-down box, 
which selects the HTTP protocol implementation to be used:
+        
+<dt>HTTP Request</dt>
+<dd>this has an implementation drop-down box, which selects the HTTP protocol 
implementation to be used:
           <dl>
-            <dt><span class="code">Java</span></dt><dd>uses the HTTP 
implementation provided by the JVM.
+            
+<dt>
+<span class="code">Java</span>
+</dt>
+<dd>uses the HTTP implementation provided by the JVM.
             This has some limitations in comparison with the HttpClient 
implementations - see below.</dd>
-            <dt><span class="code">HTTPClient4</span></dt><dd>uses Apache 
HttpComponents HttpClient 4.x.</dd>
-            <dt>Blank Value</dt><dd>does not set implementation on HTTP 
Samplers, so relies on HTTP Request Defaults if present or on <span 
class="code">jmeter.httpsampler</span> property defined in <span 
class="code">jmeter.properties</span></dd>
-          </dl>
-        </dd>
-        </dl>
-         <p>The Java HTTP implementation has some limitations:</p>
-         <ul>
-         <li>There is no control over how connections are re-used.
+            
+<dt>
+<span class="code">HTTPClient4</span>
+</dt>
+<dd>uses Apache HttpComponents HttpClient 4.x.</dd>
+            
+<dt>Blank Value</dt>
+<dd>does not set implementation on HTTP Samplers, so relies on HTTP Request 
Defaults if present or on <span class="code">jmeter.httpsampler</span> property 
defined in <span class="code">jmeter.properties</span>
+</dd>
+          
+</dl>
+        
+</dd>
+        
+</dl>
+         
+<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
+         
+<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 <span 
class="code">CONNECT</span> is not handled correctly).
+         
+<li>There is a bug in the handling of HTTPS via a Proxy (the <span 
class="code">CONNECT</span> is not handled correctly).
          See Java bugs 6226610 and 6208335.
          </li>
-         <li>It does not support virtual hosts.</li>
-         <li>It supports only the following methods: <span 
class="code">GET</span>, <span class="code">POST</span>, <span 
class="code">HEAD</span>, <span class="code">OPTIONS</span>, <span 
class="code">PUT</span>, <span class="code">DELETE</span> and <span 
class="code">TRACE</span></li>
-         <li>It does not support client based certificate testing with 
Keystore Config.</li>
-         </ul>
-         <div class="clear"></div><div class="note">Note: the <span 
class="code">FILE</span> protocol is intended for testing purposes only.
-         It is handled by the same code regardless of which HTTP Sampler is 
used.</div><div class="clear"></div>
-        <p>If the request requires server or proxy login authorization (i.e. 
where a browser would create a pop-up dialog box),
+         
+<li>It does not support virtual hosts.</li>
+         
+<li>It supports only the following methods: <span class="code">GET</span>, 
<span class="code">POST</span>, <span class="code">HEAD</span>, <span 
class="code">OPTIONS</span>, <span class="code">PUT</span>, <span 
class="code">DELETE</span> and <span class="code">TRACE</span>
+</li>
+         
+<li>It does not support client based certificate testing with Keystore 
Config.</li>
+         
+</ul>
+         
+<div class="clear"></div>
+<div class="note">Note: the <span class="code">FILE</span> protocol is 
intended for testing purposes only.
+         It is handled by the same code regardless of which HTTP Sampler is 
used.</div>
+<div class="clear"></div>
+        
+<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 <span 
class="code">POST</span>) 
          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>
+        
+<p>
         A separate SSL context is used for each thread.
         If you want to use a single SSL context (not the standard behaviour of 
browsers), set the JMeter property:</p>
+
 <pre class="source">
 https.sessioncontext.shared=true
 </pre>
@@ -135,53 +919,142 @@ https.sessioncontext.shared=true
 <pre class="source">
 https.use.cached.ssl.context=false
 </pre>
-        <div class="clear"></div><div class="note">
+        
+<div class="clear"></div>
+<div class="note">
          Note: this does not apply to the Java HTTP implementation.
-        </div><div class="clear"></div>
+        </div>
+<div class="clear"></div>
         JMeter defaults to the SSL protocol level TLS.
         If the server needs a different level, e.g. <span 
class="code">SSLv3</span>, change the JMeter property, for example:
 <pre class="source">
 https.default.protocol=SSLv3
 </pre>
-        <p>
+        
+<p>
         JMeter also allows one to enable additional protocols, by changing the 
property <span class="code">https.socket.protocols</span>.
         </p>
-        <p>If the request uses cookies, then you will also need an
+        
+<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>
-</div><div class="screenshot"><figure><a 
href="../images/screenshots/http-request.png"><img 
src="../images/screenshots/http-request.png" width="953" height="611" 
alt="Screenshot for Control-Panel of HTTP Request"></a><figcaption>Screenshot 
of Control-Panel of HTTP Request</figcaption></figure></div><figure><a 
href="../images/screenshots/http-request-advanced-tab.png"><img 
src="../images/screenshots/http-request-advanced-tab.png" width="951" 
height="284" alt="HTTP Request Advanced config fields"></a><figcaption>HTTP 
Request Advanced config fields</figcaption></figure><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">
+
+</div>
+<div class="screenshot">
+<figure>
+<a href="../images/screenshots/http-request.png"><img 
src="../images/screenshots/http-request.png" width="953" height="611" 
alt="Screenshot for Control-Panel of HTTP Request"></a>
+<figcaption>Screenshot of Control-Panel of HTTP Request</figcaption>
+</figure>
+</div>
+<figure>
+<a href="../images/screenshots/http-request-advanced-tab.png"><img 
src="../images/screenshots/http-request-advanced-tab.png" width="951" 
height="284" alt="HTTP Request Advanced config fields"></a>
+<figcaption>HTTP Request Advanced config fields</figcaption>
+</figure>
+<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. <span 
class="code">www.example.com</span>. [Do not include the <span 
class="code">http://</span> prefix.]
             Note: If the "<span class="code">Host</span>" header is defined in 
a Header Manager, then this will be used
             as the virtual host name.
-        </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: 
<span class="code">80</span></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.
+        </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: <span class="code">80</span>
+</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.
         <p>A <a 
href="../usermanual/component_reference.html#Duration_Assertion">Duration 
Assertion</a> can be used to detect responses that take too long to 
complete.</p>
-        </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 <span 
class="code">http://</span> 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"><span 
class="code">Java</span>, <span class="code">HttpClient4</span>.
+        
+</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 <span class="code">http://</span> 
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">
+<span class="code">Java</span>, <span class="code">HttpClient4</span>.
         If not specified (and not defined by HTTP Request Defaults), the 
default depends on the value of the JMeter property
-        <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"><span class="code">HTTP</span>, <span 
class="code">HTTPS</span> or <span class="code">FILE</span>. Default: <span 
class="code">HTTP</span></div><div class="required req-false">No</div></div>
-        <div class="property"><div class="name req-true">Method</div><div 
class="description req-true"><span class="code">GET</span>, <span 
class="code">POST</span>, <span class="code">HEAD</span>, <span 
class="code">TRACE</span>,
+        <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">
+<span class="code">HTTP</span>, <span class="code">HTTPS</span> or <span 
class="code">FILE</span>. Default: <span class="code">HTTP</span>
+</div>
+<div class="required req-false">No</div>
+</div>
+        
+<div class="property">
+<div class="name req-true">Method</div>
+<div class="description req-true">
+<span class="code">GET</span>, <span class="code">POST</span>, <span 
class="code">HEAD</span>, <span class="code">TRACE</span>,
           <span class="code">OPTIONS</span>, <span class="code">PUT</span>, 
<span class="code">DELETE</span>, <span class="code">PATCH</span> (not 
supported for
           <span class="code">JAVA</span> implementation). With <span 
class="code">HttpClient4</span>, the following methods related to WebDav are
           also allowed: <span class="code">COPY</span>, <span 
class="code">LOCK</span>, <span class="code">MKCOL</span>, <span 
class="code">MOVE</span>,
@@ -189,19 +1062,38 @@ https.default.protocol=SSLv3
           <span class="code">SEARCH</span>.
           <p>More methods can be pre-defined for the HttpClient4 by using the 
JMeter property
             <span class="code">httpsampler.user_defined_methods</span>.</p>
-        </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">
+        
+</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 <span class="code">POST</span>, <span 
class="code">PUT</span>, <span class="code">PATCH</span> and <span 
class="code">FILE</span>).
         This is the character encoding to be used, and is not related to the 
Content-Encoding HTTP header.
-        </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">
+        </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 <span class="code">GET</span> and <span 
class="code">HEAD</span> requests.
         The HttpClient sampler will reject attempts to use it for <span 
class="code">POST</span> or <span class="code">PUT</span>.
-        <div class="clear"></div><div class="note">Warning: see below for 
information on cookie and header handling.</div><div class="clear"></div>
-        </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">
+        <div class="clear"></div>
+<div class="note">Warning: see below for information on cookie and header 
handling.</div>
+<div class="clear"></div>
+        
+</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 "<span class="code">Redirect 
Automatically</span>" 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.
@@ -216,27 +1108,55 @@ https.default.protocol=SSLv3
         both absolute and relative redirect URLs. For example <span 
class="code">http://host/one/../two</span> will be collapsed into <span 
class="code">http://host/two</span>.
         If necessary, this behaviour can be suppressed by setting the JMeter 
property
         <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: 
<span class="code">keep-alive</span> 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">
+        
+</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: <span 
class="code">keep-alive</span> 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 <span class="code">multipart/form-data</span> or <span 
class="code">application/x-www-form-urlencoded</span> post request
-        </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">
+        </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 <span class="code">multipart/form-data</span>, this 
suppresses the <span class="code">Content-Type</span> and
         <span class="code">Content-Transfer-Encoding</span> headers; only the 
<span class="code">Content-Disposition</span> header is sent.
-        </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, <span 
class="code">/servlets/myServlet</span>). 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, <span 
class="code">/servlets/myServlet</span>). If the
 resource requires query string parameters, add them below in the
 "Send Parameters With the Request" section.
-<div class="clear"></div><div class="note">
+<div class="clear"></div>
+<div class="note">
 As a special case, if the path starts with "<span class="code">http://</span>" 
or "<span class="code">https://</span>" then this is used as the full URL.
-</div><div class="clear"></div>
+</div>
+<div class="clear"></div>
 In this case, the server, port and protocol fields are ignored; parameters are 
also ignored for <span class="code">GET</span> and <span 
class="code">DELETE</span> methods.
 Also please note that the path is not encoded - apart from replacing spaces 
with <span class="code">%20</span> -
 so unsafe characters may need to be encoded to avoid errors such as <span 
class="code">URISyntaxException</span>.
-</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
+</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 <span class="code">name</span> and
         <span class="code">value</span>, the options to encode the parameter, 
and an option to include or exclude an equals sign (some applications
         don't expect an equals sign when the value is the empty string).  The 
query string will be generated in the correct fashion, depending on
@@ -245,18 +1165,31 @@ so unsafe characters may need to be enco
         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>
+        
+<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.:
         </p>
-        <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 : '<span 
class="code">$</span>', '<span class="code">&amp;</span>', '<span 
class="code">+</span>', '<span class="code">,</span>' , '<span 
class="code">/</span>', '<span class="code">:</span>', '<span 
class="code">;</span>', '<span class="code">=</span>', '<span 
class="code">?</span>', '<span class="code">@</span>'</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 : '<span class="code"> </span>', '<span 
class="code">&lt;</span>', '<span class="code">&gt;</span>', '<span 
class="code">#</span>', '<span class="code">%</span>', &hellip;</li>
-        </ul>
-        </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
+        
+<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 : '<span class="code">$</span>', '<span 
class="code">&amp;</span>', '<span class="code">+</span>', '<span 
class="code">,</span>' , '<span class="code">/</span>', '<span 
class="code">:</span>', '<span class="code">;</span>', '<span 
class="code">=</span>', '<span class="code">?</span>', '<span 
class="code">@</span>'</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 : '<span class="code"> </span>', '<span 
class="code">&lt;</span>', '<span class="code">&gt;</span>', '<span 
class="code">#</span>', '<span class="code">%</span>', &hellip;</li>
+        
+</ul>
+        
+</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>
@@ -265,50 +1198,113 @@ so unsafe characters may need to be enco
         of the request, i.e. no wrappers are added. This allows arbitrary 
bodies to be sent. This functionality is present for <span 
class="code">POST</span> requests, 
         and also for <span class="code">PUT</span> requests.
         <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 "<span 
class="code">name</span>" 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, <span 
class="code">text/plain</span>).
+        
+</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 "<span 
class="code">name</span>" 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, <span 
class="code">text/plain</span>).
         If it is a <span class="code">POST</span> or <span 
class="code">PUT</span> or <span class="code">PATCH</span> request and either 
the '<span class="code">name</span>' 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
         <span class="code">content-type</span> request header.
-        </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
+        </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.
-        </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">
+        </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.
-       </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">
+       </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 <span 
class="code">http://example.com/</span>, use the expression:
         <span class="code">http://example\.com/.*</span>
-        </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>
+        
+</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
+        
+<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 <span class="code">eth0</span>, <span class="code">lo</span>, <span 
class="code">em0</span>, etc.)</li>
-        <li>Select <i>Device IPv6</i> to select the IPv6 address of the device 
name (like <span class="code">eth0</span>, <span class="code">lo</span>, <span 
class="code">em0</span>, 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>
+        
+<li>Select <i>Device IPv4</i> to select the IPv4 address of the device name 
(like <span class="code">eth0</span>, <span class="code">lo</span>, <span 
class="code">em0</span>, etc.)</li>
+        
+<li>Select <i>Device IPv6</i> to select the IPv6 address of the device name 
(like <span class="code">eth0</span>, <span class="code">lo</span>, <span 
class="code">em0</span>, 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 overrides 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 "<span class="code">eth0</span>" or "<span 
class="code">lo</span>" or "<span class="code">wlan0</span>".<br>
         If the property <span class="code">httpclient.localaddress</span> is 
defined, that is used for all HttpClient requests.
-        </div><div class="required req-false">No</div></div>
-</div><div class="clear"></div><div class="note">
+        </div>
+<div class="required req-false">No</div>
+</div>
+
+</div>
+<div class="clear"></div>
+<div class="note">
 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 <span class="code">www.example.com</span> redirects to <span 
class="code">www.example.co.uk</span>.
@@ -318,50 +1314,99 @@ rather than <span class="code">www.examp
 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.
-</div><div class="clear"></div><p>
-<b>Parameter Handling:</b><br>
+</div>
+<div class="clear"></div>
+<p>
+
+<b>Parameter Handling:</b>
+<br>
 For the <span class="code">POST</span> and <span class="code">PUT</span> 
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.
-These can be added by using the <span class="code">__char()</span> function in 
the value fields.
+These can be added by using the <span class="code"><a 
href="../usermanual/functions.html#__char">__char()</a></span> function in the 
value fields.
 This allows arbitrary bodies to be sent.
 The values are encoded if the encoding flag is set.
 See also the MIME Type above how you can control the <span 
class="code">content-type</span> 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.
-</p><br><p>You have the option to switch to <span class="code">Body 
Data</span> tab when a request has only unnamed parameters
+</p>
+<br>
+<p>You have the option to switch to <span class="code">Body Data</span> tab 
when a request has only unnamed parameters
 (or no parameters at all).
-This option is useful in the following cases (amongst others):</p><ul>
+This option is useful in the following cases (amongst others):</p>
+<ul>
+
 <li>GWT RPC HTTP Request</li>
+
 <li>JSON REST HTTP Request</li>
+
 <li>XML REST HTTP Request</li>
+
 <li>SOAP HTTP Request</li>
-</ul><div class="clear"></div><div class="note">
+
+</ul>
+<div class="clear"></div>
+<div class="note">
 Note that once you leave the Tree node, you cannot switch back to the 
parameter tab unless you clear the <span class="code">Body Data</span> tab from 
its data.
-</div><div class="clear"></div><p>
+</div>
+<div class="clear"></div>
+<p>
 In <span class="code">Body Data</span> mode, each line will be sent with <span 
class="code">CRLF</span> appended, apart from the last line.
 To send a <span class="code">CRLF</span> 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><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>
+</p>
+<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 <span class="code">GET</span>, <span class="code">DELETE</span>, <span 
class="code">POST</span>, <span class="code">PUT</span> and <span 
class="code">PATCH</span> request methods work similarly, except that as of 
3.1, only <span class="code">POST</span> method supports multipart requests
 or file upload.
-The <span class="code">PUT</span> and <span class="code">PATCH</span> method 
body must be provided as one of the following:</p><ul>
+The <span class="code">PUT</span> and <span class="code">PATCH</span> method 
body must be provided as one of the following:</p>
+<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 <span class="code">Body Data</span> tab</li>
-</ul><p>
+
+</ul>
+<p>
 The <span class="code">GET</span>, <span class="code">DELETE</span> and <span 
class="code">POST</span> methods have an additional way of passing parameters 
by using the <span class="code">Parameters</span> tab.
 <span class="code">GET</span>, <span class="code">DELETE</span>, <span 
class="code">PUT</span> and <span class="code">PATCH</span> require a 
Content-Type.
 If not using a file, attach a Header Manager to the sampler and define the 
Content-Type there.
-</p><p>JMeter scan responses from embedded resources. It uses the property 
<span class="code">HTTPResponse.parsers</span>, which is a list of parser ids,
- e.g. <span class="code">htmlParser</span>, <span 
class="code">cssParser</span> and <span class="code">wmlParser</span>. For each 
id found, JMeter checks two further properties:</p><ul>
- <li><span class="code">id.types</span> - a list of content types</li>
- <li><span class="code">id.className</span> - the parser to be used to extract 
the embedded resources</li>
- </ul><p>See <span class="code">jmeter.properties</span> file for the details 
of the settings.
+</p>
+<p>JMeter scan responses from embedded resources. It uses the property <span 
class="code">HTTPResponse.parsers</span>, which is a list of parser ids,
+ e.g. <span class="code">htmlParser</span>, <span 
class="code">cssParser</span> and <span class="code">wmlParser</span>. For each 
id found, JMeter checks two further properties:</p>
+<ul>
+ 
+<li>
+<span class="code">id.types</span> - a list of content types</li>
+ 
+<li>
+<span class="code">id.className</span> - the parser to be used to extract the 
embedded resources</li>
+ 
+</ul>
+<p>See <span class="code">jmeter.properties</span> file for the details of the 
settings.
  If the <span class="code">HTTPResponse.parser</span> property is not set, 
JMeter reverts to the previous behaviour,
- i.e. only <span class="code">text/html</span> responses will be 
scanned</p><b>Emulating slow connections:</b><br><p>
+ i.e. only <span class="code">text/html</span> responses will be scanned</p>
+<b>Emulating slow connections:</b>
+<br>
+<p>
+
 <span class="code">HttpClient4</span> and <span class="code">Java</span> 
Sampler support emulation of slow connections; see the following entries in 
<span class="code">jmeter.properties</span>:
 <pre class="source">
 # Define characters per second &gt; 0 to emulate slow connections
@@ -369,49 +1414,125 @@ If not using a file, attach a Header Man
 #httpclient.socket.https.cps=0
 </pre>
 However the <span class="code">Java</span> sampler only supports slow HTTPS 
connections.
-</p><p><b>Response size calculation</b><br>
-Optional properties to allow change the method to get response 
size:<br></p><ul><li>Gets the real network size in bytes for the body response
-<pre class="source">sampleresult.getbytes.body_real_size=true</pre></li>
+</p>
+<p>
+<b>Response size calculation</b>
+<br>
+Optional properties to allow change the method to get response size:<br>
+</p>
+<ul>
+<li>Gets the real network size in bytes for the body response
+<pre class="source">sampleresult.getbytes.body_real_size=true</pre>
+</li>
+
 <li>Add HTTP headers to full response size
-<pre 
class="source">sampleresult.getbytes.headers_size=true</pre></li></ul><div 
class="clear"></div><div class="note">
-The <span class="code">Java</span> and <span class="code">HttpClient3</span> 
implementations do not include transport overhead such as
+<pre class="source">sampleresult.getbytes.headers_size=true</pre>
+</li>
+</ul>
+<div class="clear"></div>
+<div class="note">
+The <span class="code">Java</span> implementation does not include transport 
overhead such as
 chunk headers in the response body size.<br>
 The <span class="code">HttpClient4</span> 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><div class="clear"></div><div class="note">When 
those two properties are set  <span class="code">false</span>, JMeter returns 
only data response size (uncompressed if request uses gzip/deflate 
mode).</div><div class="clear"></div><p>
-<b>Retry handling</b><br>
+</div>
+<div class="clear"></div>
+<div class="clear"></div>
+<div class="note">When those two properties are set  <span 
class="code">false</span>, JMeter returns only data response size (uncompressed 
if request uses gzip/deflate mode).</div>
+<div class="clear"></div>
+<p>
+
+<b>Retry handling</b>
+<br>
 For HttpClient4 the retry count has been set to <span class="code">0</span>, 
meaning not retry is attempted. 
 Note that the Java implementation appears to retry 1 time.
 The retry count can be overridden by setting the relevant JMeter property, for 
example:
-</p><pre class="source">
+</p>
+<pre class="source">
 httpclient4.retrycount=3
-</pre><pre class="source">
+</pre>
+<pre class="source">
 httpclient4.request_sent_retry_enabled=true
-</pre><p>
-<b>Note: Certificates does not conform to algorithm constraints</b><br>
+</pre>
+<p>
+
+<b>Note: Certificates does not conform to algorithm constraints</b>
+<br>
 You may encounter the following error: <span 
class="code">java.security.cert.CertificateException: Certificates does not 
conform to algorithm constraints</span>
  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 <span class="code">md2WithRSAEncryption</span>) 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 8.
-</p><p>
+</p>
+<p>
 To allow you to perform your HTTPS request, you can downgrade the security of 
your Java installation by editing
 the Java <span class="code">jdk.certpath.disabledAlgorithms</span> property. 
Remove the MD2 value or the constraint on size, depending on your case.
-</p><p>
-This property is in this file:</p><pre 
class="source">JAVA_HOME/jre/lib/security/java.security</pre><p>See  <a 
href="https://bz.apache.org/bugzilla/show_bug.cgi?id=56357";>
+</p>
+<p>
+This property is in this file:</p>
+<pre class="source">JAVA_HOME/jre/lib/security/java.security</pre>
+<p>See  <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=56357";>
       Bug
       56357</a> for details.
-</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 
 Requests and Session ID's: URL Rewriting</a></li></ul></div><div 
class="go-top"><a href="#">^</a></div></div>
+</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>

[... 18554 lines stripped ...]

Reply via email to