blob: a15487462cca2b06669d177b442ba7e1f2e98cb2 [file] [log] [blame]
<!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: Building an LDAP Test Plan</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://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="https://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="https://jmeter.apache.org/"><img class="logo" src="../images/logo.svg" alt="Apache JMeter"></a>
</div>
<div class="banner">
<a href="https://www.apache.org/events/current-event.html"><img src="https://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="https://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="https://cwiki.apache.org/confluence/display/JMETER/Home">JMeter Wiki</a>
</li>
<li>
<a href="https://cwiki.apache.org/confluence/display/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="https://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="https://cwiki.apache.org/confluence/display/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="https://www.apache.org/">The Apache Software Foundation (ASF)</a>
</li>
<li>
<a href="https://www.apache.org/foundation/getinvolved.html">Get Involved in the ASF</a>
</li>
<li>
<a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
</li>
<li>
<a href="https://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="build-ftp-test-plan.html">&lt; Prev</a>
</li>
<li>
<a href="../index.html">Index</a>
</li>
<li>
<a href="build-ldapext-test-plan.html">Next &gt;</a>
</li>
</ul>
<div class="section">
<h1 id="building">8a. Building an LDAP Test Plan<a class="sectionlink" href="#building" title="Link to here">&para;</a>
</h1>
<p>In this section, you will learn how to create a basic Test Plan to test an LDAP server.
You will create four users that send requests for four tests on the LDAP server. Also, you will tell
the users to run their tests 4 times. So, the total number of requests is (4 users) x (4 requests) x
(repeat 4 times) = 64 LDAP requests. To construct the Test Plan, you will use the following elements:
<a href="test_plan.html#thread_group">Thread Group</a>,
<a href="../usermanual/component_reference.html#LDAP_Request">LDAP Request</a>,
<a href="../usermanual/component_reference.html#LDAP_Request_Defaults">LDAP Request Defaults</a>, and
<a href="../usermanual/component_reference.html#View_Results_in_Table">View Results in Table</a>
.</p>
<p>This example assumes that the LDAP Server is available at ldap.test.com.</p>
</div>
<div class="section">
<h1 id="adding_users">8a.1 Adding Users<a class="sectionlink" href="#adding_users" title="Link to here">&para;</a>
</h1>
<p>The first step you want to do with every JMeter Test Plan is to add a Thread Group element.
The Thread Group tells JMeter the number of users you want to simulate, how often the users should send
requests, and the how many requests they should send.</p>
<p>Go ahead and add the ThreadGroup element by first selecting the Test Plan, clicking your
right mouse button to get the <span class="menuchoice"><span class="guimenuitem">Add</span></span> menu, and then select
<span class="menuchoice"><span class="guimenuitem">Add</span>&nbsp;&rarr;&nbsp;<span class="guimenuitem">ThreadGroup</span></span>. You should now see the
Thread Group element under Test Plan. If you do not see the element, then "expand" the Test Plan tree by
clicking on the Test Plan element.
<figure>
<a href="../images/screenshots/ldaptest/threadgroup.png"><img src="../images/screenshots/ldaptest/threadgroup.png" width="" height="" alt="
Figure 8a.1. Thread Group and final test tree"></a>
<figcaption>
Figure 8a.1. Thread Group and final test tree</figcaption>
</figure>
</p>
</div>
<div class="section">
<h1 id="add_login">8a.2 Adding Login Config Element<a class="sectionlink" href="#add_login" title="Link to here">&para;</a>
</h1>
<p>Begin by selecting the <span class="code">LDAP Users</span> element. Click your right mouse
button to get the Add menu, and then select
<span class="menuchoice"><span class="guimenuitem">Add</span>&nbsp;&rarr;&nbsp;<span class="guimenuitem">Config Element</span>&nbsp;&rarr;&nbsp;<span class="guimenuitem">Login Config Element</span></span>.
Then, select this new element to view its Control Panel.</p>
<p>Like most JMeter elements, the <span class="code">Login Config Element</span>'s Control Panel has a name
field that you can modify. In this example, leave this field with the default value.</p>
<figure>
<a href="../images/screenshots/ldaptest/login-config-element.png"><img src="../images/screenshots/ldaptest/login-config-element.png" width="" height="" alt="
Figure 8a.2 Login Config Element for our Test Plan"></a>
<figcaption>
Figure 8a.2 Login Config Element for our Test Plan</figcaption>
</figure>
<div class="clear"></div>
<div class="note">
<p>Enter Username field to "your LDAP Username",<br>
The password field to "your LDAP Password"</p>
<p>These values will be used by the LDAP Requests.</p>
</div>
<div class="clear"></div>
</div>
<div class="section">
<h1 id="add_defaults">8a.3 Adding LDAP Request Defaults<a class="sectionlink" href="#add_defaults" title="Link to here">&para;</a>
</h1>
<p>Begin by selecting the <span class="code">LDAP Users</span> element. Click your right mouse button
to get the <span class="menuchoice"><span class="guimenuitem">Add</span></span> menu, and then select
<span class="menuchoice"><span class="guimenuitem">Add</span>&nbsp;&rarr;&nbsp;<span class="guimenuitem">Config Element</span>&nbsp;&rarr;&nbsp;<span class="guimenuitem">LDAP Request Defaults</span></span>. Then,
select this new element to view its Control Panel.</p>
<p>Like most JMeter elements, the <span class="code">LDAP Request Defaults</span> Control Panel has a name
field that you can modify. In this example, leave this field with the default value.</p>
<figure>
<a href="../images/screenshots/ldaptest/requestdefaults.png"><img src="../images/screenshots/ldaptest/requestdefaults.png" width="" height="" alt="
Figure 8a.3 LDAP Defaults for our Test Plan"></a>
<figcaption>
Figure 8a.3 LDAP Defaults for our Test Plan</figcaption>
</figure>
<div class="clear"></div>
<div class="note">Enter <span class="code">DN</span> field to "<span class="code">your LDAP Root Distinguished Name</span>".<br>
Enter LDAP Server's <span class="code">Servername</span> field to "<span class="code">ldap.test.com</span>".<br>
The <span class="code">port</span> to <span class="code">389</span>.<br>
These values are default for the LDAP Requests.</div>
<div class="clear"></div>
</div>
<div class="section">
<h1 id="add_requests">8a.4 Adding LDAP Requests<a class="sectionlink" href="#add_requests" title="Link to here">&para;</a>
</h1>
<p>In our Test Plan, we need to make four LDAP requests.</p>
<ol>
<li>Inbuilt Add Test</li>
<li>Inbuilt Search Test</li>
<li>Inbuilt Modify Test</li>
<li>Inbuilt Delete Test</li>
</ol>
<p>JMeter sends requests in the order that you add them to the tree.
Start by adding the first LDAP Request to the LDAP Users element
(<span class="menuchoice"><span class="guimenuitem">Add</span>&nbsp;&rarr;&nbsp;<span class="guimenuitem">Sampler</span>&nbsp;&rarr;&nbsp;<span class="guimenuitem">LDAP Request</span></span>). Then, select the LDAP Request element in the tree
and edit the following properties</p>
<ol>
<li>Rename to "<span class="code">Add</span>" this element</li>
<li>Select the <span class="code">Add Test</span> radio button in <span class="code">Test Configuration</span> group</li>
</ol>
<figure>
<a href="../images/screenshots/ldaptest/add.png"><img src="../images/screenshots/ldaptest/add.png" width="" height="" alt="
Figure 8a.4.1 LDAP Request for Inbuilt Add test"></a>
<figcaption>
Figure 8a.4.1 LDAP Request for Inbuilt Add test</figcaption>
</figure>
<p>You do not have to set the <span class="code">Servername</span> field, <span class="code">port</span> field, <span class="code">Username</span>, <span class="code">Password</span>
and <span class="code">DN</span> because you already specified this value in the <span class="code">Login Config Element</span> and
<span class="code">LDAP Request Defaults.</span>
</p>
<p>Next, add the second LDAP Request and edit the following
properties</p>
<ol>
<li>Rename to "<span class="code">Search</span>" this element</li>
<li>Select the <span class="code">Search Test</span> radio button in <span class="code">Test Configuration</span> group</li>
</ol>
<p>
Next, add the Third LDAP Request and edit the following properties
</p>
<figure>
<a href="../images/screenshots/ldaptest/search.png"><img src="../images/screenshots/ldaptest/search.png" width="" height="" alt="
Figure 8a.4.2 LDAP Request for Inbuilt Search test"></a>
<figcaption>
Figure 8a.4.2 LDAP Request for Inbuilt Search test</figcaption>
</figure>
<ol>
<li>Rename to "<span class="code">Modify</span>" this element</li>
<li>Select the <span class="code">Modify Test</span> radio button in <span class="code">Test Configuration</span> group</li>
</ol>
<p>
Next, add the fourth LDAP Request and edit the following properties
</p>
<figure>
<a href="../images/screenshots/ldaptest/modify.png"><img src="../images/screenshots/ldaptest/modify.png" width="" height="" alt="
Figure 8a.4.3 LDAP Request for Inbuilt Modify test"></a>
<figcaption>
Figure 8a.4.3 LDAP Request for Inbuilt Modify test</figcaption>
</figure>
<ol>
<li>Rename to "<span class="code">Delete</span>" this element</li>
<li>Select the <span class="code">Delete Test</span> radio button in <span class="code">Test Configuration</span> group</li>
</ol>
<figure>
<a href="../images/screenshots/ldaptest/delete.png"><img src="../images/screenshots/ldaptest/delete.png" width="" height="" alt="
Figure 8a.4.4 LDAP Request for Inbuilt Delete test"></a>
<figcaption>
Figure 8a.4.4 LDAP Request for Inbuilt Delete test</figcaption>
</figure>
</div>
<div class="section">
<h1 id="ResponseAssertion">8a.5 Adding a Response Assertion<a class="sectionlink" href="#ResponseAssertion" title="Link to here">&para;</a>
</h1>
<p>You can add a Response Assertion element.
This element will check the received response data by verifying if the response text is "<span class="code">successful</span>".
(<span class="menuchoice"><span class="guimenuitem">Add</span>&nbsp;&rarr;&nbsp;<span class="guimenuitem">Assertion</span>&nbsp;&rarr;&nbsp;<span class="guimenuitem">Response Assertion</span></span>).</p>
<div class="clear"></div>
<div class="note">Note: A this position in the tree,
the Response Assertion will be executed for each LDAP Request.</div>
<div class="clear"></div>
<ol>
<li>Select <span class="code">Text Response</span> Radio button in <span class="code">Response Field to Test</span> group</li>
<li>Select <span class="code">Substring</span> Radio button in <span class="code">Pattern Matching Rules</span> group</li>
<li>Click on <span class="code">Add</span> button and add the string "<span class="code">successful</span>" in <span class="code">Pattern to Test</span> field</li>
</ol>
<figure>
<a href="../images/screenshots/ldaptest/responseassertion.png"><img src="../images/screenshots/ldaptest/responseassertion.png" width="" height="" alt="
Figure 8a.5 LDAP Response Assertion"></a>
<figcaption>
Figure 8a.5 LDAP Response Assertion</figcaption>
</figure>
</div>
<div class="section">
<h1 id="add_listener">8a.6 Adding a Listener to View/Store the Test Results<a class="sectionlink" href="#add_listener" title="Link to here">&para;</a>
</h1>
<p>The final element you need to add to your Test Plan is a Listener.
This element is responsible for storing all of the results of your LDAP
requests in a file and presenting a visual model of the data. Select the LDAP
Users element and add a View Results in Table
(<span class="menuchoice"><span class="guimenuitem">Add</span>&nbsp;&rarr;&nbsp;<span class="guimenuitem">Listener</span>&nbsp;&rarr;&nbsp;<span class="guimenuitem">View Results in Table</span></span>)</p>
<figure>
<a href="../images/screenshots/ldaptest/viewtable.png"><img src="../images/screenshots/ldaptest/viewtable.png" width="" height="" alt="
Figure 8a.6 View Results in Table Listener"></a>
<figcaption>
Figure 8a.6 View Results in Table Listener</figcaption>
</figure>
</div>
<ul class="pagelinks">
<li>
<a href="build-ftp-test-plan.html">&lt; Prev</a>
</li>
<li>
<a href="../index.html">Index</a>
</li>
<li>
<a href="build-ldapext-test-plan.html">Next &gt;</a>
</li>
</ul>
<div class="share-links">
Share this page:
<ul>
<li class="fb">
<a data-social-url="https://facebook.com/sharer/sharer.php?u=" title="Share on facebook"><i class="fa fa-facebook" aria-hidden="true"></i>share</a>
</li>
<li class="twitter">
<a data-social-url="https://twitter.com/intent/tweet?url=" title="Tweet on twitter"><i class="fa fa-twitter" aria-hidden="true"></i>tweet</a>
</li>
</ul>
</div>
<a href="#top" id="topButton">Go to top</a>
</div>
<div class="footer">
<div class="copyright">
Copyright &copy;
1999 &ndash;
2021
, Apache Software Foundation
</div>
<div class="trademarks">Apache, Apache JMeter, JMeter, the Apache
feather, and the Apache JMeter logo are
trademarks of the
Apache Software Foundation.
</div>
</div>
<script>(function(){
"use strict";
// enable 'go to top' button functionality
document.addEventListener('scroll', function() {
if (document.body.scrollTop > 500 || document.documentElement.scrollTop > 500) {
document.getElementById("topButton").style.display = "block";
} else {
document.getElementById("topButton").style.display = "none";
}
});
// fill in the current location into social links on this page.
var as = document.getElementsByTagName('a');
var loc = document.location.href;
if (!loc.toLowerCase().startsWith('http')) {
return;
}
for (var i=0; i<as.length; i++) {
var href = as[i].getAttribute('data-social-url');
if (href !== null) {
as[i].href = href + encodeURIComponent(loc);
}
}
})();</script>
</body>
</html>