| <!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://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-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> |
| |
| <li> |
| |
| <i>(Optional)</i> Check the box TrustAll if you want the client to trust all certificates |
| </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> |
| </ul> |
| </div> |
| <a href="#top" id="topButton">Go to top</a> |
| </div> |
| <div class="footer"> |
| <div class="copyright"> |
| Copyright © |
| 1999 – |
| 2019 |
| , 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> |