<?xml version="1.0"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to you under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<!DOCTYPE document
[
<!ENTITY sect-num '8a'>
]>

<document prev="build-ftp-test-plan.html" next="build-ldapext-test-plan.html" id="$Id$">


<properties>
  <title>User's Manual: Building an LDAP Test Plan</title>
</properties>

<body>
<section name="&sect-num;. Building an LDAP Test Plan" anchor="building">
        <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>,
<complink name="LDAP Request"/>,
<complink name="LDAP Request Defaults"/>, and
<complink name="View Results in Table"/>
.</p>
        <p>This example assumes that the LDAP Server is available at ldap.test.com.</p>
</section>
    <section name="&sect-num;.1 Adding Users" anchor="adding_users">
        <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 <menuchoice><guimenuitem>Add</guimenuitem></menuchoice> menu, and then select
<menuchoice>
  <guimenuitem>Add</guimenuitem>
  <guimenuitem>ThreadGroup</guimenuitem>
</menuchoice>. 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 image="ldaptest/threadgroup.png">
Figure &sect-num;.1. Thread Group and final test tree</figure>

</p>
</section>
    <section name="&sect-num;.2 Adding Login Config Element" anchor="add_login">
        <p>Begin by selecting the <code>LDAP Users</code> element. Click your right mouse
button to get the Add menu, and then select
  <menuchoice>
    <guimenuitem>Add</guimenuitem>
    <guimenuitem>Config Element</guimenuitem>
    <guimenuitem>Login Config Element</guimenuitem>
  </menuchoice>.
Then,  select this new element to view its Control Panel.</p>
        <p>Like most JMeter elements, the <code>Login  Config Element</code>'s Control Panel has a name
field that you can modify. In this example, leave this field with the default value.</p>

<figure image="ldaptest/login-config-element.png">
  Figure &sect-num;.2 Login Config Element for our Test Plan</figure>

        <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></note>
</section>

    <section name="&sect-num;.3 Adding LDAP Request Defaults" anchor="add_defaults">
                <p>Begin by selecting the <code>LDAP Users</code> element. Click your right mouse button
to get the <menuchoice><guimenuitem>Add</guimenuitem></menuchoice> menu, and then select
<menuchoice>
  <guimenuitem>Add</guimenuitem>
  <guimenuitem>Config Element</guimenuitem>
  <guimenuitem>LDAP Request Defaults</guimenuitem>
</menuchoice>. Then,
select this new element to view its Control Panel.</p>
        <p>Like most JMeter elements, the <code>LDAP Request Defaults</code> Control Panel has a name
field that you can modify. In this example, leave this field with the default value.</p>


<figure image="ldaptest/requestdefaults.png">
  Figure &sect-num;.3 LDAP Defaults for our Test Plan</figure>

        <note>Enter <code>DN</code> field to "<code>your LDAP Root Distinguished Name</code>".<br/>
                Enter LDAP Server's <code>Servername</code> field to "<code>ldap.test.com</code>".<br/>
        The <code>port</code> to <code>389</code>.<br/>
        These values are default for the LDAP Requests.</note>
</section>


    <section name="&sect-num;.4 Adding LDAP Requests" anchor="add_requests">
                <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
(<menuchoice>
  <guimenuitem>Add</guimenuitem>
  <guimenuitem>Sampler</guimenuitem>
  <guimenuitem>LDAP Request</guimenuitem>
</menuchoice>). Then, select the LDAP Request  element in the tree
and edit the following properties</p>
        <ol>
            <li>Rename to "<code>Add</code>" this element</li>
            <li>Select the <code>Add Test</code> radio button in <code>Test Configuration</code> group</li>
        </ol>
                <figure image="ldaptest/add.png">
                  Figure &sect-num;.4.1 LDAP Request for Inbuilt Add test</figure>


                <p>You do not have to set the <code>Servername</code> field, <code>port</code> field, <code>Username</code>, <code>Password</code>
and <code>DN</code> because you already specified this value in the <code>Login Config Element</code> and
<code>LDAP Request Defaults.</code></p>
        <p>Next, add the second LDAP Request and edit the following
properties</p>
        <ol>
            <li>Rename to "<code>Search</code>" this element</li>
            <li>Select the <code>Search Test</code> radio button in <code>Test Configuration</code> group</li>
        </ol>
        <p>
        Next, add the Third LDAP Request and edit the following properties
        </p>
                <figure image="ldaptest/search.png">
                  Figure &sect-num;.4.2 LDAP Request for Inbuilt Search test</figure>

        <ol>
            <li>Rename to "<code>Modify</code>" this element</li>
            <li>Select the <code>Modify Test</code> radio button in <code>Test Configuration</code> group</li>
        </ol>
        <p>
        Next, add the fourth LDAP Request and edit the following properties
        </p>
                <figure image="ldaptest/modify.png">
                  Figure &sect-num;.4.3 LDAP Request for Inbuilt Modify test</figure>

        <ol>
            <li>Rename to "<code>Delete</code>" this element</li>
            <li>Select the <code>Delete Test</code> radio button in <code>Test Configuration</code> group</li>
        </ol>
                <figure image="ldaptest/delete.png">
                  Figure &sect-num;.4.4 LDAP Request for Inbuilt Delete test</figure>

</section>
<section name="&sect-num;.5 Adding a Response Assertion" anchor="ResponseAssertion">
               <p>You can add a Response Assertion element.
 This element will check the received response data by verifying if the response text is "<code>successful</code>".
  (<menuchoice>
  <guimenuitem>Add</guimenuitem>
  <guimenuitem>Assertion</guimenuitem>
  <guimenuitem>Response Assertion</guimenuitem>
</menuchoice>).</p>
<note>Note: A this position in the tree,
  the Response Assertion will be executed for each LDAP Request.</note>
          <ol>
            <li>Select <code>Text Response</code> Radio button in <code>Response Field to Test</code> group</li>
            <li>Select <code>Substring</code> Radio button in <code>Pattern Matching Rules</code> group</li>
            <li>Click on <code>Add</code> button and add the string "<code>successful</code>" in <code>Pattern to Test</code> field</li>
        </ol>
<figure image="ldaptest/responseassertion.png">
  Figure &sect-num;.5 LDAP Response Assertion</figure>
</section>
 <section name="&sect-num;.6 Adding a Listener to View/Store the Test Results" anchor="add_listener">
               <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
(<menuchoice>
<guimenuitem>Add</guimenuitem>
<guimenuitem>Listener</guimenuitem>
<guimenuitem>View Results in Table</guimenuitem>
</menuchoice>)</p>
<figure image="ldaptest/viewtable.png">
  Figure &sect-num;.6 View Results in Table Listener</figure>

</section>

</body>
</document>
