Apache JMeter™ 构建扩展LDAP测试计划

本文介绍如何使用JMeter构建扩展的LDAP测试计划。首先说明了创建基本测试计划的步骤,包括添加用户、LDAP扩展请求默认值、LDAP请求等,详细阐述了9种LDAP请求的添加方法及相关属性设置,最后介绍了添加监听器以查看和存储测试结果。

构建 扩展的LDAP测试计划

在本节中,您将学习如何创建基本测试计划以测试LDAP服务器。

由于扩展LDAP采样器具有高度可配置性,这也意味着构建正确的测试计划需要一些时间。但是,您可以根据自己的需要进行调整。

您将创建1个在LDAP服务器上发送9个测试请求的用户。此外,您将告诉用户一次运​​行他们的测试。因此,请求总数是(1个用户)x(9个请求)x(重复1次)= 9个 LDAP请求。要构建测试计划,您将使用以下元素:
Thread Group,
添加 LDAP Extended Request Defaults,
添加 LDAP Requests, and
添加 a Listener to View/Store the Test Results

此示例假定LDAP服务器在ldap.test.com上可用。

对于经验较少的LDAP用户,我构建了一个小型LDAP教程,该教程简要介绍了可用于构建复杂测试计划的几个LDAP操作。

在专有名称中使用LDAP特殊字符时要小心,在这种情况下(例如,您希望在专有名称中使用+号),您需要通过在该字符前添加“ \ ”符号来转义字符。额外的异常:如果要在专有名称中添加\字符(在添加或重命名操作中),则需要使用4个反斜杠。

例子:

CN = dolf \ + Smits的

添加/搜索名称为cn = dolf + smits的条目

cn = dolf \\ smits

搜索名称为cn = dolf \ smits的条目

CN = C:\\\\ log.txt的

添加名称为cn = c:\ log.txt的条目

8b.1 添加用户

您希望对每个JMeter测试计划执行的第一步是添加线程组元素。线程组告诉JMeter您要模拟的用户数,用户发送请求的频率以及他们应发送的请求数。

继续添加线程组元素,首先选择测试计划,单击鼠标右键以获取添加菜单,然后选择添加 → 线程(用户) → 线程组。您现在应该看到测试计划下的线程组元素。如果没有看到该元素,则单击“测试计划”元素“展开”测试计划树。

Figure 8b.1. Thread Group with Default Values

图8b.1。具有默认值的线程组

8b.2 添加LDAP扩展请求默认值

首先选择LDAP Ext Users元素。单击鼠标右键以获取“ 添加”菜单,然后选择“ 添加” →“ 配置元素” →“ LDAP扩展请求默认值”。然后,选择此新元素以查看其控制面板。

与大多数JMeter元素一样,LDAP扩展请求默认值控制面板具有您可以修改的名称字段。在此示例中,将此字段保留为默认值。

Figure 8b.2 LDAP Defaults for our Test Plan

图8b.2我们的测试计划的LDAP默认值

 

对于每个不同的操作,可以填写一些默认值。在所有情况下,当填写默认值时,这将用于LDAP扩展请求。对于每个请求,您可以通过填写LDAP扩展请求采样器中的值来覆盖默认值。如果没有输入测试所需的值,测试将以不可预测的方式失败!

我们不会在这里输入任何默认值,因为我们将构建一个非常小的测试计划,因此我们将在添加LDAP扩展采样器时解释所有不同的字段。  

8b.3 添加LDAP请求

在我们的测试计划中,我们希望使用所有9个LDAP请求。

  1. 线程绑定
  2. 搜索测试
  3. 比较测试
  4. 单绑定/解绑测试
  5. 添加测试
  6. 修改测试
  7. 重命名条目(moddn)
  8. 删除测试
  9. 线程解除绑定

JMeter按照您将它们添加到树中的顺序发送请求。

添加请求始终以:
LDAP扩展请求添加到LDAP Ext Users元素(添加 → 采样器 → LDAP Ext请求)。然后,在树中选择LDAP Ext Request元素并编辑以下属性。

8b.3.1 添加线程绑定请求

  1. 重命名元素: "1. Thread bind"
  2. 选择“ 线程绑定 ”按钮。
  3. 在Servername字段中输入LDAP服务器的主机名值
  4. 在端口字段中 输入LDAP服务器的端口号(636:SSL上的ldap)
  5. (可选)在DN字段中输入baseDN,此baseDN将用作搜索,添加,删除等的起点。
    请注意,这必须是所有请求的最高共享级别,例如,当存储所有信息时在ou = Users,dc = test,dc = com下,您可以在basedn中使用此值。
  6. (可选)输入要用于身份验证的用户的可分辨名称。当此字段保持为空时,将建立匿名绑定。
  7. (可选)输入要进行身份验证的用户的密码,空密码也将导致匿名绑定。
  8. (可选)使用LDAP输入连接超时的值
  9. (可选)如果使用LDAP over SSL(ldaps)访问,请选中“使用安全LDAP协议”复选框
  10. (可选)如果希望客户端信任所有证书,请选中TrustAll框

Figure 8b.3.1. Thread Bind example

图8b.3.1。Thread Bind示例

8b.3.2 添加搜索请求

  1. 重命名元素: "2. Search Test"
  2. 选择 "Search Test" 按钮.
  3. (可选)输入要在线程绑定请求中使用的相对于basedn执行搜索的搜索库。
  4. 当留空时,basedn用作搜索库,如果你想使用“基本条目”或“一级”搜索,这个文件很重要(见下文)
  5. 输入searchfilter,任何体面的LDAP搜索过滤器都可以,但是现在,使用简单的东西,比如(sn = Doe)(cn = *)
  6. (可选)在范围字段中输入范围,它有三个选项:
    1. baseobject搜索
      仅使用给定的搜索库,仅用于检查属性或存在。
    2. 一级搜索
      仅使用给定搜索库下一级搜索
    3. 子树搜索
      在给定的basedn下面的任何点搜索对象
  7. (可选)大小限制,指定返回的最大条目数,
  8. (可选)时间限制,指定SERVER可用于执行搜索的最大毫秒数。这不是应用程序等待的最长时间。
    当从速度非常快的服务器返回非常大的返回集时,您可能需要等待很长时间才能完成搜索请求,但此参数不会影响这一点。
  9. (可选)搜索答案中需要的属性。这可用于限制答案的大小,尤其是当对象具有非常大的属性(如jpegPhoto)时。有三种可能性:
    1. 保留为空(默认设置也必须为空)这将返回所有属性。
    2. 放入一个空值(“”),它将请求不存在的属性,因此实际上它不返回任何属性
    3. 放入属性,用分号分隔。它只返回请求的属性
  10. (可选)返回对象。Checked将返回所有java-object属性,它会将这些属性添加到请求的属性中,如上所述。
    未选中将意味着不会返回任何java对象属性。
  11. (可选)时间限制,指定SERVER可用于执行搜索的最大毫秒数。这不是应用程序等待的最长时间。
    当从速度非常快的服务器返回非常大的返回集时,您可能需要等待很长时间才能完成搜索请求,但此参数不会影响这一点。
  12. (可选)搜索答案中需要的属性。这可用于限制答案的大小,尤其是当对象具有非常大的属性(如jpegPhoto)时。有三种可能性:
    1. 保留为空(默认设置也必须为空)这将返回所有属性。
    2. 放入一个空值(“”),它将请求不存在的属性,因此实际上它不返回任何属性
    3. 放入属性,用分号分隔。它只返回请求的属性
  13. (可选)返回对象。Checked将返回所有java-object属性,它会将这些属性添加到请求的属性中,如上所述。
    未选中将意味着不会返回任何java对象属性。
  14. (可选)取消引用别名。检查将意味着它将遵循参考,未经检查说它不会。
  15. (可选)解析搜索结果?Checked意味着它会在响应数据中获得所有结果,Unchecked表示不会。

Figure 8b.3.2. search request example

图8b.3.2。搜索请求示例

8b.3.3 添加比较请求

  1. 重命名元素:“ 3。比较测试 ”
  2. 选择“ 比较 ”按钮。
  3. 输入您希望比较操作工作的对象的entryname,相对于basedn,例如“ cn = jdoe,ou = Users ”
  4. 输入比较过滤器,必须采用“ attribute = value ” 形式,例如“ mail jdoe@test.com ”

Figure 8b.3.3. Compare example

图8b.3.3。比较例子

8b.3.4 添加单个绑定/解绑

  1. 重命名元素:“ 4。单绑定/解除绑定测试 ”
  2. 选择“ 单个绑定/取消绑定 ”按钮。
  3. 输入要用于身份验证的用户的完整专有名称。
    例如cn = jdoe,ou = Users,dc = test,dc = com 当此字段保持为空时,将建立匿名绑定。
  4. 输入要进行身份验证的用户的密码,空密码也将导致匿名绑定。

注意:这个单独的绑定/解绑实际上是两个单独的操作,但不能轻易拆分!

Figure 8b.3.4. Single bind/unbind example

图8b.3.4。单绑定/解除绑定示例

8b.3.5 添加增加请求

  1. 重命名元素:“ 5。添加测试 ”
  2. 选择“ 添加 ”按钮。
  3. 输入要添加的对象的可分辨名称(相对于basedn)。
  4. 在“ 添加测试 ”表中添加一行,填写属性和值。
    如果您需要多次使用相同的属性,只需添加一个新行,再次添加该属性,以及另一个值。
    必须指定所有必要的属性和值才能通过测试,参见图片!
    (有时服务器会添加属性“ objectClass = top ”,这可能会产生问题。

Figure 8b.3.5. Add request example

图8b.3.5。添加请求示例

8b.3.6 添加修改请求

  1. 重命名元素:“ 6。修改测试 ”
  2. 选择“ 修改测试 ”按钮。
  3. 输入要修改的对象的可分辨名称,相对于basedn。
  4. 使用“ 添加 ”按钮 在“ 修改测试 ”表中添加一行。
  5. 您需要输入要修改的属性,(可选)值和操作码。这个操作码的含义:

    这意味着属性值(在这种情况下不是可选的)将被添加到属性中。
    当属性不存在时,将创建它并添加值
    当它存在并定义多值时,将添加新值。
    当它存在但是单值时,它将失败。

    更换

    这将覆盖具有给定新值的属性(此处不是可选的)
    当属性不存在时,将创建它并添加值
    当存在时,将删除旧值,添加新值。

    删除

    如果没有给出值,则将删除所有值
    当给定值时,则仅删除该值
    如果给定值不存在, 测试将失败

  6. (可选)在“ 修改测试 ”表中添加更多修改。
    指定的所有修改必须成功,才能通过修改测试。当一次修改失败时,将不进行任何修改,并且条目将保持不变。

Figure 8b.3.6. Modify example

图8b.3.6。修改示例

8b.3.7 添加重命名请求 (moddn)

  1. 重命名元素: "7. Rename entry (moddn)"
  2. 选择 "Rename Entry" 按钮.
  3. 在“ 旧条目名称 ” -Field中输入相对于baseDN的条目名称
    也就是说,如果要重命名“ cn = Little John Doe,ou = Users ”,并将baseDN设置为“ dc = test,dc = com ”,则需要输入“ cn = John Junior Doe,ou = Users “在旧条目名称中 - 字段
  4. 在“ 新专有名称 ” -Field中输入相对于baseDN的条目的新名称
    当您只更改RDN时,它只会重命名该条目
    在你添加一个不同的子树时,例如你从cn = john doe,ou = Users更改为cn = john doe,ou = oldusers,它将移动条目。您也可以将一个完整的子树(如果您的LDAP服务器支持此!),如OU =用户,ou =退休,到OU = oldusers,OU =用户,这将移动整个子树,再加上所有退休人员的子树树上的新地方。

Figure 8b.3.7. Rename example

图8b.3.7。重命名示例

8b.3.8 添加删除请求

  1. 重命名元素: "8. Delete Test"
  2. 选择 "Delete" 按钮.
  3. Delete -Field中输入相对于baseDN的条目名称。
    也就是说,如果要删除“ cn = John Junior Doe,ou = Users,dc = test,dc = com ”,并将baseDN设置为“ dc = test,dc = com ”,则需要输入“ cn” = 删除字段中的John Junior Doe,ou = Users “ 。

Figure 8b.3.8. Delete example

图8b.3.8。删除示例

8b.3.9 添加解绑请求

  1. 重命名元素: "9. Thread unbind"
  2. 选择 "Thread unbind" 按钮. 这就足够了,因为它只是关闭当前连接。所需的信息已为系统所知。

Figure 8b.3.9. Unbind example

图8b.3.9。解开示例

8b.4 添加监听器以查看/存储测试结果

您需要添加到测试计划的最后一个元素是监听器。此元素负责将LDAP请求的所有结果存储在文件中,并呈现数据的可视化模型。选择Thread组元素并添加View Results TreeAdd → Listener → View Results Tree)。

Figure 8b.4. View Result Tree Listener

图8b.4。查看结果树监听器

在此侦听器中,您有三个要查看的选项卡,采样器结果,请求和响应数据。

  1. 采样器结果只包含响应时间,返回码和返回消息
  2. 该请求简要描述了所提出的请求,实际上这里没有包含相关信息。
  3. 响应数据包含已发送请求的完整详细信息,以及收到的答案的完整详细信息,这是以(自定义的)xml样式给出的。 完整的描述可以在这里找到。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值