mirror of https://github.com/apache/jmeter.git
1009 lines
28 KiB
HTML
1009 lines
28 KiB
HTML
<!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 Extended 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://wiki.apache.org/jmeter">JMeter Wiki</a>
|
|
</li>
|
|
<li>
|
|
<a href="https://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="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://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="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-ldap-test-plan.html">< Prev</a>
|
|
</li>
|
|
<li>
|
|
<a href="../index.html">Index</a>
|
|
</li>
|
|
<li>
|
|
<a href="build-ws-test-plan.html">Next ></a>
|
|
</li>
|
|
</ul>
|
|
<div class="section">
|
|
<h1 id="ldapexttest">8b. Building an Extended LDAP Test Plan<a class="sectionlink" href="#ldapexttest" title="Link to here">¶</a>
|
|
</h1>
|
|
|
|
<p>
|
|
In this section, you will learn how to create a basic Test Plan to test an LDAP
|
|
server.</p>
|
|
|
|
<p>
|
|
As the Extended LDAP Sampler is highly configurable, this also means that it takes
|
|
some time to build a correct testplan. You can however tune it exactly up to your
|
|
needs.
|
|
</p>
|
|
|
|
|
|
<p>
|
|
You will create 1 user that send requests for nine tests on the LDAP server. Also, you will tell
|
|
the users to run their tests one time. So, the total number of requests is <span class="code">(1 user) x (9 requests) x
|
|
(repeat 1 time) = 9</span> LDAP requests. To construct the Test Plan, you will use the following elements:<br>
|
|
|
|
<a href="test_plan.html#thread_group">Thread Group</a>,<br>
|
|
|
|
<a href="../usermanual/component_reference.html#Adding_LDAP_Extended_Request_Defaults">Adding LDAP Extended Request Defaults</a>,<br>
|
|
|
|
<a href="../usermanual/component_reference.html#Adding_LDAP_Requests">Adding LDAP Requests</a>, and<br>
|
|
|
|
<a href="../usermanual/component_reference.html#Adding_a_Listener_to_View/Store_the_Test_Results">Adding a Listener to View/Store the Test Results</a>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
This example assumes that the LDAP Server is available at <span class="code">ldap.test.com</span>.
|
|
</p>
|
|
|
|
<p>
|
|
For the less experienced LDAP users, I build a <a href="ldapops_tutor.html">small
|
|
LDAP tutorial</a> which shortly explains
|
|
the several LDAP operations that can be used in building a complex testplan.
|
|
</p>
|
|
|
|
<p>
|
|
Take care when using LDAP special characters in the distinguished name, in that case (e.g. you want to use a <span class="code">+</span> sign in a
|
|
distinguished name) you need to escape the character by adding an "<span class="code">\</span>" sign before that character.
|
|
Extra exception: if you want to add a <span class="code">\</span> character in a distinguished name (in an add or rename operation), you need to use 4 backslashes.
|
|
</p>
|
|
|
|
<p>
|
|
Examples:
|
|
</p>
|
|
|
|
<dl>
|
|
|
|
<dt>
|
|
<span class="code">cn=dolf\+smits</span>
|
|
</dt>
|
|
<dd>to add/search an entry with the name like <span class="code">cn=dolf+smits</span>
|
|
</dd>
|
|
|
|
<dt>
|
|
<span class="code">cn=dolf \\ smits</span>
|
|
</dt>
|
|
<dd>to search an entry with the name <span class="code">cn=dolf \ smits</span>
|
|
</dd>
|
|
|
|
<dt>
|
|
<span class="code">cn=c:\\\\log.txt</span>
|
|
</dt>
|
|
<dd>to add an entry with a name like <span class="code">cn=c:\log.txt</span>
|
|
</dd>
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
<div class="subsection">
|
|
<h2 id="ext_adding_users">8b.1 Adding Users<a class="sectionlink" href="#ext_adding_users" title="Link to here">¶</a>
|
|
</h2>
|
|
|
|
<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 <span class="code">Thread Group</span> element by first selecting the <span class="code">Test Plan</span>, clicking your
|
|
right mouse button to get the <span class="code">Add</span> menu, and then select <span class="code">Add</span>→<span class="code">Threads (Users)</span>→<span class="code">Thread Group</span>.
|
|
You should now see the <span class="code">Thread Group</span> element under <span class="code">Test Plan</span>. If you do not see the element, then "expand" the Test Plan tree by
|
|
clicking on the Test Plan element.
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<figure>
|
|
<a href="../images/screenshots/ldaptest/extthreadgroup.png"><img src="../images/screenshots/ldaptest/extthreadgroup.png" width="" height="" alt="
|
|
Figure 8b.1. Thread Group with Default Values"></a>
|
|
<figcaption>
|
|
Figure 8b.1. Thread Group with Default Values</figcaption>
|
|
</figure>
|
|
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<div class="subsection">
|
|
<h2 id="add_ldapext_defaults">8b.2 Adding LDAP Extended Request Defaults<a class="sectionlink" href="#add_ldapext_defaults" title="Link to here">¶</a>
|
|
</h2>
|
|
|
|
<p>
|
|
Begin by selecting the LDAP Ext Users element. Click your right mouse button
|
|
to get the <span class="code">Add</span> menu, and then select <span class="code">Add</span>→<span class="code">Config Element</span>→<span class="code">LDAP Extended Request Defaults</span>. Then,
|
|
select this new element to view its Control Panel.
|
|
</p>
|
|
|
|
<p>
|
|
Like most JMeter elements, the <span class="code">LDAP Extended Request Defaults</span> Control Panel has a name
|
|
field that you can modify. In this example, leave this field with the default value.
|
|
</p>
|
|
|
|
<p>
|
|
<figure>
|
|
<a href="../images/screenshots/ldaptest/extrequestdefaults.png"><img src="../images/screenshots/ldaptest/extrequestdefaults.png" width="" height="" alt="
|
|
Figure 8b.2 LDAP Defaults for our Test Plan"></a>
|
|
<figcaption>
|
|
<br>
|
|
Figure 8b.2 LDAP Defaults for our Test Plan</figcaption>
|
|
</figure>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
For each of the different operations, some default values can be filled in.
|
|
In All cases, when a default is filled in, this is used for the LDAP extended requests.
|
|
For each request, you can override the defaults by filling in the values in the LDAP extended request sampler.
|
|
When no value is entered which is necessary for a test, the test will fail in an unpredictable way!
|
|
</p>
|
|
We will not enter any default values here, as we will build a very small testplan, so we will explain all the different fields when we add the LDAP Extended samplers.
|
|
</div>
|
|
|
|
<div class="subsection">
|
|
<h2 id="add_extrequests">8b.3 Adding LDAP Requests<a class="sectionlink" href="#add_extrequests" title="Link to here">¶</a>
|
|
</h2>
|
|
|
|
<p>
|
|
In our Test Plan, we want to use all 9 LDAP requests.
|
|
</p>
|
|
|
|
<ol>
|
|
|
|
<li>
|
|
Thread bind
|
|
</li>
|
|
|
|
<li>
|
|
Search Test
|
|
</li>
|
|
|
|
<li>
|
|
Compare Test
|
|
</li>
|
|
|
|
<li>
|
|
Single bind/unbind Test
|
|
</li>
|
|
|
|
<li>
|
|
Add Test
|
|
</li>
|
|
|
|
<li>
|
|
Modify Test
|
|
</li>
|
|
|
|
<li>
|
|
Rename entry (moddn)
|
|
</li>
|
|
|
|
<li>
|
|
Delete Test
|
|
</li>
|
|
|
|
<li>
|
|
Thread unbind
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
<p>
|
|
JMeter sends requests in the order that you add them to the tree.
|
|
</p>
|
|
|
|
<p>
|
|
Adding a requests always start by:<br>
|
|
Adding the <span class="code">LDAP Extended Request</span> to the LDAP Ext Users element (<span class="code">Add</span>→
|
|
<span class="code">Sampler</span>→<span class="code">LDAP Ext Request</span>). Then, select the <span class="code">LDAP Ext Request</span> element in the tree
|
|
and edit the following properties.</p>
|
|
|
|
|
|
|
|
<div class="subsection">
|
|
<h2 id="add_threadbind">8b.3.1 Adding a Thread bind Request<a class="sectionlink" href="#add_threadbind" title="Link to here">¶</a>
|
|
</h2>
|
|
|
|
<p>
|
|
|
|
<ol>
|
|
|
|
<li>
|
|
Rename the element: "<span class="code">1. Thread bind</span>"
|
|
</li>
|
|
|
|
<li>
|
|
Select the "<span class="code">Thread bind</span>" button.
|
|
</li>
|
|
|
|
<li>
|
|
Enter the hostname value from the LDAP server in the Servername field
|
|
</li>
|
|
|
|
<li>
|
|
Enter the portnumber from the LDAP server (<span class="code">636</span> : ldap over SSL) in the port field
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i>(Optional)</i> Enter the baseDN in the DN field, this baseDN will be used as the starting point for searches, add, deletes, etc.<br>
|
|
take care that this must be the uppermost shared level for all your request, e.g. when all information is stored under <span class="code">ou=Users, dc=test, dc=com</span>, you can use this value in the basedn.<br>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i>(Optional)</i> Enter the distinguished name from the user you want to use for authentication.
|
|
When this field is kept empty, an anonymous bind will be established.
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i>(Optional)</i> Enter the password for the user you want to authenticate with, an empty password will also lead to an anonymous bind.
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i>(Optional)</i> Enter a value for the connection timeout with LDAP
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i>(Optional)</i> Check the box Use Secure LDAP Protocol if you access with LDAP over SSL (ldaps)
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<figure>
|
|
<a href="../images/screenshots/ldaptest/extthreadbind.png"><img src="../images/screenshots/ldaptest/extthreadbind.png" width="" height="" alt="
|
|
Figure 8b.3.1. Thread Bind example"></a>
|
|
<figcaption>
|
|
Figure 8b.3.1. Thread Bind example</figcaption>
|
|
</figure>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="subsection">
|
|
<h2 id="add_searchreq">8b.3.2 Adding a search Request<a class="sectionlink" href="#add_searchreq" title="Link to here">¶</a>
|
|
</h2>
|
|
|
|
<p>
|
|
|
|
<ol>
|
|
|
|
<li>
|
|
Rename the element: "<span class="code">2. Search Test</span>"
|
|
</li>
|
|
|
|
<li>
|
|
Select the "<span class="code">Search Test</span>" button.
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i>(Optional)</i> enter the searchbase under which you want to perform the search, relative to the basedn, used in the thread bind request.<br>
|
|
When left empty, the basedn is used as a search base, this files is important if you want to use a "base-entry" or "one-level" search (see below)
|
|
</li>
|
|
|
|
<li>
|
|
Enter the searchfilter, any decent LDAP search filter will do, but for now, use something simple, like <span class="code">(sn=Doe)</span> or <span class="code">(cn=*)</span>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i>(Optional)</i> Enter the scope in the scope field, it has three options:
|
|
<ol>
|
|
|
|
<li>baseobject search<br>only the given searchbase is used, only for checking attributes or existence.
|
|
</li>
|
|
|
|
<li>onelevel search<br>Only search in one level below given searchbase is used
|
|
</li>
|
|
|
|
<li>subtree search<br> Searches for object at any point below the given basedn
|
|
</li>
|
|
</ol>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i>(Optional)</i> Size limit, specifies the maximum number of returned entries,
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i>(Optional)</i> Time limit, specifies the maximum number of milliseconds, the SERVER can use for performing the search. It is NOT the maximum time the application will wait.<br>
|
|
When a very large returnset is returned, from a very fast server, over a very slow line, you may have to wait for ages for the completion of the search request, but this parameter will not influence this.
|
|
</li>
|
|
|
|
<li>
|
|
<i>(Optional)</i> Attributes you want in the search answer. This can be used to limit the size of the answer, especially when an object has very large attributes (like <span class="code">jpegPhoto</span>). There are three possibilities:
|
|
<ol>
|
|
<li>Leave empty (the default setting must also be empty) This will return all attributes.
|
|
</li>
|
|
|
|
<li>Put in one empty value (<span class="code">""</span>), it will request a non-existent attributes, so in reality it returns no attributes
|
|
</li>
|
|
|
|
<li>Put in the attributes, separated by a semi-colon. It will return only the requested attributes
|
|
</li>
|
|
</ol>
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i>(Optional)</i> Return object. Checked will return all java-object attributes, it will add these to the requested attributes, as specified above.<br>
|
|
Unchecked will mean no java-object attributes will be returned.
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i>(Optional)</i> Dereference aliases. Checked will mean it will follow references, Unchecked says it will not.
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i>(Optional)</i> Parse the search results?. Checked will mean it gets all results in response data, Unchecked says it will not.
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<figure>
|
|
<a href="../images/screenshots/ldaptest/extsearch.png"><img src="../images/screenshots/ldaptest/extsearch.png" width="" height="" alt="
|
|
Figure 8b.3.2. search request example"></a>
|
|
<figcaption>
|
|
Figure 8b.3.2. search request example</figcaption>
|
|
</figure>
|
|
|
|
</p>
|
|
</div>
|
|
|
|
|
|
<div class="subsection">
|
|
<h2 id="add_comparereq">8b.3.3 Adding a Compare Request<a class="sectionlink" href="#add_comparereq" title="Link to here">¶</a>
|
|
</h2>
|
|
|
|
<p>
|
|
|
|
<ol>
|
|
|
|
<li>
|
|
Rename the element: "<span class="code">3. Compare Test</span>"
|
|
</li>
|
|
|
|
<li>
|
|
Select the "<span class="code">Compare</span>" button.
|
|
</li>
|
|
|
|
<li>
|
|
enter the entryname form the object on which you want the compare operation to work, relative to the basedn, e.g. "<span class="code">cn=jdoe,ou=Users</span>"
|
|
</li>
|
|
|
|
<li>
|
|
Enter the compare filter, this must be in the form "<span class="code">attribute=value</span>", e.g. "<span class="code">mail=jdoe@test.com</span>"
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<figure>
|
|
<a href="../images/screenshots/ldaptest/extcompare.png"><img src="../images/screenshots/ldaptest/extcompare.png" width="" height="" alt="
|
|
Figure 8b.3.3. Compare example"></a>
|
|
<figcaption>
|
|
Figure 8b.3.3. Compare example</figcaption>
|
|
</figure>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="subsection">
|
|
<h2 id="add_sbind">8b.3.4 Adding a Single bind/unbind<a class="sectionlink" href="#add_sbind" title="Link to here">¶</a>
|
|
</h2>
|
|
|
|
<p>
|
|
|
|
<ol>
|
|
|
|
<li>
|
|
Rename the element: "<span class="code">4. Single bind/unbind Test</span>"
|
|
</li>
|
|
|
|
<li>
|
|
Select the "<span class="code">Single bind/unbind</span>" button.
|
|
</li>
|
|
|
|
<li>
|
|
Enter the FULL distinguished name from the user you want to use for authentication.<br>
|
|
E.g. <span class="code">cn=jdoe,ou=Users,dc=test,dc=com</span>
|
|
When this field is kept empty, an anonymous bind will be established.
|
|
</li>
|
|
|
|
<li>
|
|
Enter the password for the user you want to authenticate with, an empty password will also lead to an anonymous bind.
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
<b>Take care</b>: This single bind/unbind is in reality two separate operations but cannot easily be split!
|
|
</p>
|
|
<p>
|
|
|
|
<figure>
|
|
<a href="../images/screenshots/ldaptest/extsbind.png"><img src="../images/screenshots/ldaptest/extsbind.png" width="" height="" alt="
|
|
Figure 8b.3.4. Single bind/unbind example"></a>
|
|
<figcaption>
|
|
Figure 8b.3.4. Single bind/unbind example</figcaption>
|
|
</figure>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="subsection">
|
|
<h2 id="add_addreq">8b.3.5 Adding an Add Request<a class="sectionlink" href="#add_addreq" title="Link to here">¶</a>
|
|
</h2>
|
|
|
|
<p>
|
|
|
|
<ol>
|
|
|
|
<li>
|
|
Rename the element: "<span class="code">5. Add Test</span>"
|
|
</li>
|
|
|
|
<li>
|
|
Select the "<span class="code">Add</span>" button.
|
|
</li>
|
|
|
|
<li>
|
|
Enter the distinguished name for the object to add, relative to the basedn.
|
|
</li>
|
|
|
|
<li>
|
|
Add a line in the "<span class="code">add test</span>" table, fill in the attribute and value.<br>
|
|
When you need the same attribute more than once, just add a new line, add the attribute again, and a different value.<br>
|
|
All necessary attributes and values must be specified to pass the test, see picture!<br>
|
|
(sometimes the server adds the attribute "<span class="code">objectClass=top</span>", this might give a problem.
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<figure>
|
|
<a href="../images/screenshots/ldaptest/extadd.png"><img src="../images/screenshots/ldaptest/extadd.png" width="" height="" alt="
|
|
Figure 8b.3.5. Add request example"></a>
|
|
<figcaption>
|
|
Figure 8b.3.5. Add request example</figcaption>
|
|
</figure>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="subsection">
|
|
<h2 id="add_modreq">8b.3.6 Adding a Modify Request<a class="sectionlink" href="#add_modreq" title="Link to here">¶</a>
|
|
</h2>
|
|
|
|
<p>
|
|
|
|
<ol>
|
|
|
|
<li>
|
|
Rename the element: "<span class="code">6. Modify Test</span>"
|
|
</li>
|
|
|
|
<li>
|
|
Select the "<span class="code">Modify test</span>" button.
|
|
</li>
|
|
|
|
<li>
|
|
Enter the distinguished name for the object to modify, relative to the basedn.
|
|
</li>
|
|
|
|
<li>
|
|
Add a line in the "<span class="code">modify test</span>" table, with the "<span class="code">add</span>" button.
|
|
</li>
|
|
|
|
<li>
|
|
You need to enter the attribute you want to modify, (optional) a value, and the opcode. The meaning of this opcode:
|
|
<dl>
|
|
|
|
<dt>
|
|
<span class="code">add</span>
|
|
</dt>
|
|
<dd>this will mean that the attribute value (not optional in this case) will be added to the attribute.<br>
|
|
When the attribute is not existing, it will be created and the value added<br>
|
|
When it is existing, and defined multi-valued, the new value is added.<br>
|
|
when it is existing, but single valued, it will fail.</dd>
|
|
|
|
<dt>
|
|
<span class="code">replace</span>
|
|
</dt>
|
|
<dd>
|
|
This will overwrite the attribute with the given new value (not optional here)<br>
|
|
When the attribute is not existing, it will be created and the value added<br>
|
|
When it is existing, old values are removed, the new value is added.</dd>
|
|
|
|
<dt>
|
|
<span class="code">delete</span>
|
|
</dt>
|
|
<dd>
|
|
When no value is given, all values will be removed<br>
|
|
When a value is given, only that value will be removed<br>
|
|
when the given value is not existing, the test will fail
|
|
</dd>
|
|
|
|
</dl>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<i>(Optional)</i> Add more modifications in the "<span class="code">modify test</span>" table.<br>
|
|
All modifications which are specified must succeed, to let the modification test pass. When one modification fails,
|
|
NO modifications at all will be made and the entry will remain unchanged.
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<figure>
|
|
<a href="../images/screenshots/ldaptest/extmod.png"><img src="../images/screenshots/ldaptest/extmod.png" width="" height="" alt="
|
|
Figure 8b.3.6. Modify example"></a>
|
|
<figcaption>
|
|
Figure 8b.3.6. Modify example</figcaption>
|
|
</figure>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="subsection">
|
|
<h2 id="add_moddn">8b.3.7 Adding a Rename Request (moddn)<a class="sectionlink" href="#add_moddn" title="Link to here">¶</a>
|
|
</h2>
|
|
|
|
<p>
|
|
|
|
<ol>
|
|
|
|
<li>
|
|
Rename the element: "<span class="code">7. Rename entry (moddn)</span>"
|
|
</li>
|
|
|
|
<li>
|
|
Select the "<span class="code">Rename Entry</span>" button.
|
|
</li>
|
|
|
|
<li>
|
|
Enter the name of the entry, relative to the baseDN, in the "<span class="code">old entry name</span>"-Field.<br>
|
|
that is, if you want to rename "<span class="code">cn=Little John Doe,ou=Users</span>", and you set the baseDN to "<span class="code">dc=test,dc=com</span>",
|
|
you need to enter "<span class="code">cn=John Junior Doe,ou=Users</span>" in the <span class="code">old entry name</span>-Field.
|
|
</li>
|
|
|
|
<li>
|
|
Enter the new name of the entry, relative to the baseDN, in the "<span class="code">new distinguished name</span>"-Field.<br>
|
|
when you only change the RDN, it will simply rename the entry<br>
|
|
when you also add a different subtree, e.g. you change from <span class="code">cn=john doe,ou=Users</span> to <span class="code">cn=john doe,ou=oldusers</span>, it will move the entry.
|
|
You can also move a complete subtree (If your LDAP server supports this!), e.g. <span class="code">ou=Users,ou=retired</span>, to <span class="code">ou=oldusers,ou=users</span>,
|
|
this will move the complete subtree, plus all retired people in the subtree to the new place in the tree.
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<figure>
|
|
<a href="../images/screenshots/ldaptest/extmoddn.png"><img src="../images/screenshots/ldaptest/extmoddn.png" width="" height="" alt="
|
|
Figure 8b.3.7. Rename example"></a>
|
|
<figcaption>
|
|
Figure 8b.3.7. Rename example</figcaption>
|
|
</figure>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="subsection">
|
|
<h2 id="add_delreq">8b.3.8 Adding a Delete Request<a class="sectionlink" href="#add_delreq" title="Link to here">¶</a>
|
|
</h2>
|
|
|
|
<p>
|
|
|
|
<ol>
|
|
|
|
<li>
|
|
Rename the element: "<span class="code">8. Delete Test</span>"
|
|
</li>
|
|
|
|
<li>
|
|
Select the "<span class="code">Delete</span>" button.
|
|
</li>
|
|
|
|
<li>
|
|
Enter the name of the entry, relative to the baseDN, in the <span class="code">Delete</span>-Field.<br>
|
|
that is, if you want to remove "<span class="code">cn=John Junior Doe,ou=Users,dc=test,dc=com</span>", and you set the baseDN to "<span class="code">dc=test,dc=com</span>",
|
|
you need to enter "<span class="code">cn=John Junior Doe,ou=Users</span>" in the <span class="code">Delete</span>-field.
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<figure>
|
|
<a href="../images/screenshots/ldaptest/extdel.png"><img src="../images/screenshots/ldaptest/extdel.png" width="" height="" alt="
|
|
Figure 8b.3.8. Delete example"></a>
|
|
<figcaption>
|
|
Figure 8b.3.8. Delete example</figcaption>
|
|
</figure>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="subsection">
|
|
<h2 id="add_unbind">8b.3.9 Adding an unbind Request<a class="sectionlink" href="#add_unbind" title="Link to here">¶</a>
|
|
</h2>
|
|
|
|
<p>
|
|
|
|
<ol>
|
|
|
|
<li>
|
|
Rename the element: "<span class="code">9. Thread unbind</span>"
|
|
</li>
|
|
|
|
<li>
|
|
Select the "<span class="code">Thread unbind</span>" button.
|
|
This will be enough as it just closes the current connection.
|
|
The information which is needed is already known by the system
|
|
</li>
|
|
</ol>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<figure>
|
|
<a href="../images/screenshots/ldaptest/extthreadunbind.png"><img src="../images/screenshots/ldaptest/extthreadunbind.png" width="" height="" alt="
|
|
Figure 8b.3.9. Unbind example"></a>
|
|
<figcaption>
|
|
Figure 8b.3.9. Unbind example</figcaption>
|
|
</figure>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="subsection">
|
|
<h2 id="add_ldapext_listener">8b.4 Adding a Listener to View/Store the Test Results<a class="sectionlink" href="#add_ldapext_listener" title="Link to here">¶</a>
|
|
</h2>
|
|
|
|
<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 Thread group
|
|
element and add a <span class="code">View Results Tree</span> (<span class="code">Add</span>→<span class="code">Listener</span>→<span class="code">View Results Tree</span>)
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<figure>
|
|
<a href="../images/screenshots/ldaptest/extviewtree.png"><img src="../images/screenshots/ldaptest/extviewtree.png" width="" height="" alt="
|
|
Figure 8b.4. View Result Tree Listener"></a>
|
|
<figcaption>
|
|
Figure 8b.4. View Result Tree Listener</figcaption>
|
|
</figure>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
In this listener you have three tabs to view, the sampler result, the request and the response data.
|
|
<ol>
|
|
|
|
<li>
|
|
The sampler result just contains the response time, the returncode and return message
|
|
</li>
|
|
|
|
<li>
|
|
The request gives a short description of the request that was made, in practice no relevant information
|
|
is contained here.
|
|
</li>
|
|
|
|
<li>
|
|
The response data contains the full details of the sent request, as well the full details of the received answer,
|
|
this is given in a (self defined) xml-style.
|
|
<a href="ldapanswer_xml.html">The full description can be found here.</a>
|
|
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<ul class="pagelinks">
|
|
<li>
|
|
<a href="build-ldap-test-plan.html">< Prev</a>
|
|
</li>
|
|
<li>
|
|
<a href="../index.html">Index</a>
|
|
</li>
|
|
<li>
|
|
<a href="build-ws-test-plan.html">Next ></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>
|
|
<li class="gplus">
|
|
<a data-social-url="https://plus.google.com/share?url=" title="Share on Google+"><i class="fa fa-google-plus" aria-hidden="true"></i>share</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="footer">
|
|
<div class="copyright">
|
|
Copyright ©
|
|
1999 –
|
|
2018
|
|
, 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(){
|
|
// fill in the current location into social links on this page.
|
|
"use strict";
|
|
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>
|