Jmeter中的配置原件(四)

13--LDAP扩展请求默认值

用途

  • 设置默认值:为多个LDAP扩展请求设置通用的默认值,如服务器地址、端口号、用户名和密码等。
  • 简化配置:避免在每个LDAP扩展请求中重复配置相同的参数。

配置步骤

  1. 添加LDAP扩展请求默认值

    • 右键点击线程组(Thread Group)。
    • 选择"添加" -> "配置元件" -> "LDAP扩展请求默认值"(LDAP Extended Request Defaults)。
  2. 配置LDAP扩展请求默认值

    • 名称:给LDAP扩展请求默认值一个有意义的名称。
    • 服务器地址 :LDAP服务器的地址(例如ldap.example.com)。
    • 端口号:LDAP服务器的端口(默认为389)。
    • 用户名:连接LDAP服务器的用户名。
    • 密码:连接LDAP服务器的密码。
    • 基DN :LDAP目录的基DN(例如dc=example,dc=com)。
    • 扩展请求OID:扩展请求的OID(对象标识符)。
    • 扩展请求值:扩展请求的值(可选)。
    • 其他属性:可以添加其他属性(可选)。

示例配置

假设我们需要测试一个LDAP服务器,执行一些扩展请求来验证性能。

  1. 创建测试计划

    • 右键点击"测试计划" -> 新建 -> 输入测试计划名称(例如"LDAP性能测试")。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"LDAP测试")。
  3. 添加LDAP扩展请求默认值

    • 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> LDAP扩展请求默认值。
    • 配置LDAP扩展请求默认值:
      • 名称:LDAP扩展请求默认值
      • 服务器地址ldap.example.com
      • 端口号:389
      • 用户名cn=admin,dc=example,dc=com
      • 密码admin_password
      • 基DNdc=example,dc=com
      • 扩展请求OID1.3.6.1.4.1.1466.20037(示例OID,具体根据需求选择)
      • 扩展请求值:(可选,根据需求填写)
  4. 添加LDAP扩展请求

    • 右键点击线程组 -> 添加 -> 取样器 -> LDAP扩展请求。
    • 配置LDAP扩展请求:
      • 名称:请求名称(例如"执行扩展请求")。
      • 服务器地址:留空,使用默认值。
      • 端口号:留空,使用默认值。
      • 用户名:留空,使用默认值。
      • 密码:留空,使用默认值。
      • 基DN:留空,使用默认值。
      • 扩展请求OID:留空,使用默认值。
      • 扩展请求值:留空,使用默认值。
  5. 添加监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 运行测试,查看结果。

优化建议

  1. 默认值

    • 尽可能多地设置默认值,减少每个LDAP扩展请求的配置工作量。
  2. 服务器地址和端口号

    • 确保服务器地址和端口号的正确性,避免因地址或端口错误导致连接失败。
  3. 用户名和密码

    • 确保用户名和密码的正确性,避免因认证失败导致请求失败。
  4. 基DN

    • 确保基DN的正确性,基DN是LDAP目录的根节点,用于定位目录结构。
  5. 扩展请求OID和值

    • 确保扩展请求OID和值的正确性,避免因OID或值错误导致请求失败。
  6. 调试

    • 使用"查看结果树"监听器查看请求和响应的详细信息,确保LDAP扩展请求的配置正确无误。
  7. 错误处理

    • 使用断言和监听器来捕获和分析LDAP扩展请求的结果,及时发现和解决问题。

14--Random Variable

用途

  • 生成随机值:为测试中的变量生成随机值。
  • 模拟真实用户行为:通过随机化数据,使测试更接近真实用户的使用场景。
  • 数据多样性:为测试提供多样化的输入数据,提高测试的覆盖率。

配置步骤

  1. 添加Random Variable

    • 右键点击线程组(Thread Group)。
    • 选择"添加" -> "配置元件" -> "随机变量"(Random Variable)。
  2. 配置Random Variable

    • 名称:给随机变量一个有意义的名称。
    • 变量名称:生成的随机值将存储在这个变量中,可以在其他元件中引用这个变量。
    • 最小值:生成随机值的最小值。
    • 最大值:生成随机值的最大值。
    • 输出格式 :生成随机值的格式(例如%d表示整数,%s表示字符串)。
    • 种子:随机数生成器的种子值,用于生成可重复的随机序列(可选)。

示例配置

假设我们需要测试一个Web应用,生成随机的用户ID和订单号。

  1. 创建测试计划

    • 右键点击"测试计划" -> 新建 -> 输入测试计划名称(例如"Web应用性能测试")。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟")。
  3. 添加随机变量(用户ID)

    • 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> 随机变量。
    • 配置随机变量:
      • 名称:随机用户ID
      • 变量名称randomUserId
      • 最小值:1000
      • 最大值:9999
      • 输出格式%d
      • 种子:(可选,留空)
  4. 添加随机变量(订单号)

    • 右键点击线程组 -> 添加 -> 配置元件 -> 随机变量。
    • 配置随机变量:
      • 名称:随机订单号
      • 变量名称randomOrderId
      • 最小值:100000
      • 最大值:999999
      • 输出格式%d
      • 种子:(可选,留空)
  5. 添加HTTP请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:请求名称(例如"提交订单")。
      • 服务器名称或IP :目标服务器的地址(例如example.com)。
      • 端口号 :目标服务器的端口(例如80)。
      • 协议 :HTTP或HTTPS(例如HTTP)。
      • 方法 :请求的方法(例如POST)。
      • 路径 :请求的路径(例如/submitOrder)。
      • 参数
        • 名称userId
        • ${randomUserId}
        • 名称orderId
        • ${randomOrderId}
  6. 添加监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 运行测试,查看结果。

优化建议

  1. 变量名称

    • 给变量一个有意义的名称,以便在其他元件中引用。
  2. 最小值和最大值

    • 根据测试需求设置合理的最小值和最大值,确保生成的随机值符合预期范围。
  3. 输出格式

    • 根据需要选择合适的输出格式,例如%d表示整数,%s表示字符串。
  4. 种子

    • 如果需要生成可重复的随机序列,可以设置种子值。否则,留空以生成不可预测的随机值。
  5. 调试

    • 使用"查看结果树"监听器查看请求和响应的详细信息,确保随机变量的配置正确无误。
  6. 错误处理

    • 使用断言和监听器来捕获和分析请求的结果,及时发现和解决问题。

15--TCP取样器配置

用途

  • 发送和接收TCP消息:模拟客户端与TCP服务器之间的通信。
  • 测试TCP服务器:验证TCP服务器的性能和功能。
  • 自定义消息格式:支持多种消息格式,如文本、二进制等。

配置步骤

  1. 添加TCP取样器

    • 右键点击线程组(Thread Group)。
    • 选择"添加" -> "取样器" -> "TCP取样器"(TCP Sampler)。
  2. 配置TCP取样器

    • 名称:给TCP取样器一个有意义的名称。
    • 服务器名称或IP:TCP服务器的地址。
    • 端口号:TCP服务器的端口。
    • 超时时间:连接和传输的超时时间(毫秒)。
    • 重试次数:连接失败时的重试次数。
    • 关闭连接:选择是否在每次请求后关闭连接。
    • 请求数据:要发送的消息内容。
    • 请求编码:消息的编码方式(例如UTF-8)。
    • 响应编码:服务器返回的消息的编码方式(例如UTF-8)。
    • 响应超时:等待服务器响应的超时时间(毫秒)。
    • 使用EOL字节:选择是否在请求数据末尾添加EOL字节(通常用于文本消息)。
    • EOL字节 :指定EOL字节(例如\n)。
    • 使用二进制模式:选择是否使用二进制模式发送和接收消息。
    • 响应字段:指定从服务器返回的消息中提取特定字段(可选)。

示例配置

假设我们需要测试一个TCP服务器,发送一条简单的文本消息并接收响应。

  1. 创建测试计划

    • 右键点击"测试计划" -> 新建 -> 输入测试计划名称(例如"TCP性能测试")。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"TCP测试")。
  3. 添加TCP取样器

    • 右键点击刚刚创建的线程组 -> 添加 -> 取样器 -> TCP取样器。
    • 配置TCP取样器:
      • 名称:TCP取样器
      • 服务器名称或IPtcp.example.com
      • 端口号:12345
      • 超时时间:30000(30秒)
      • 重试次数:3
      • 关闭连接:False
      • 请求数据Hello, TCP Server!
      • 请求编码:UTF-8
      • 响应编码:UTF-8
      • 响应超时:30000(30秒)
      • 使用EOL字节:True
      • EOL字节\n
      • 使用二进制模式:False
      • 响应字段:(可选,留空)
  4. 添加监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 运行测试,查看结果。

优化建议

  1. 服务器地址和端口号

    • 确保服务器地址和端口号的正确性,避免因地址或端口错误导致连接失败。
  2. 超时时间

    • 设置合理的超时时间,避免因网络延迟或服务器性能问题导致测试失败。
  3. 重试次数

    • 根据测试需求设置合理的重试次数,确保在网络不稳定时能够重新尝试连接。
  4. 关闭连接

    • 如果需要保持连接,选择不关闭连接(False)。如果每次请求后都需要关闭连接,选择关闭连接(True)。
  5. 请求和响应编码

    • 确保请求和响应的编码方式一致,避免因编码问题导致消息解析错误。
  6. 使用EOL字节

    • 如果发送的是文本消息,建议使用EOL字节(例如\n),以便服务器正确解析消息。
  7. 二进制模式

    • 如果发送和接收的是二进制数据,选择使用二进制模式(True)。
  8. 调试

    • 使用"查看结果树"监听器查看请求和响应的详细信息,确保TCP取样器的配置正确无误。
  9. 错误处理

    • 使用断言和监听器来捕获和分析TCP请求的结果,及时发现和解决问题。

16--用户定义的变量

用途

  • 定义变量:为测试计划定义全局变量,这些变量可以在任何地方引用。
  • 简化配置:避免在多个地方重复配置相同的值。
  • 提高灵活性:通过修改变量值,可以轻松地调整测试计划的行为。

配置步骤

  1. 添加用户定义的变量

    • 右键点击测试计划(Test Plan)。
    • 选择"添加" -> "配置元件" -> "用户定义的变量"(User Defined Variables)。
  2. 配置用户定义的变量

    • 名称:变量的名称。
    • :变量的值。
    • 描述:变量的描述(可选)。

示例配置

假设我们需要测试一个Web应用,使用用户定义的变量来定义服务器地址、端口号和用户数量。

  1. 创建测试计划

    • 右键点击"测试计划" -> 新建 -> 输入测试计划名称(例如"Web应用性能测试")。
  2. 添加用户定义的变量

    • 右键点击刚刚创建的测试计划 -> 添加 -> 配置元件 -> 用户定义的变量。
    • 配置用户定义的变量:
      • 名称serverAddress

      • example.com

      • 描述:服务器地址

      • 名称serverPort

      • 80

      • 描述:服务器端口

      • 名称userCount

      • 100

      • 描述:用户数量

  3. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟")。
    • 配置线程组:
      • 线程数(用户数)${userCount}
      • 循环次数:1
  4. 添加HTTP请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:请求名称(例如"获取用户列表")。
      • 服务器名称或IP${serverAddress}
      • 端口号${serverPort}
      • 协议 :HTTP或HTTPS(例如HTTP)。
      • 方法 :请求的方法(例如GET)。
      • 路径 :请求的路径(例如/api/users)。
  5. 添加监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 运行测试,查看结果。

优化建议

  1. 变量命名

    • 给变量一个有意义的名称,以便在其他元件中引用。
  2. 变量值

    • 确保变量值的正确性,避免因值错误导致测试失败。
  3. 描述

    • 添加描述可以帮助其他团队成员理解变量的作用和用途。
  4. 动态值

    • 使用JMeter的函数和变量来动态生成变量值,例如使用${__P(variableName,default_value)}来从属性文件中读取变量值。
  5. 调试

    • 使用"查看结果树"监听器查看请求和响应的详细信息,确保变量的配置正确无误。
  6. 错误处理

    • 使用断言和监听器来捕获和分析请求的结果,及时发现和解决问题。

相关推荐
胡西风_foxww2 分钟前
【es6复习笔记】rest参数(7)
前端·笔记·es6·参数·rest
m0_748254883 分钟前
vue+elementui实现下拉表格多选+搜索+分页+回显+全选2.0
前端·vue.js·elementui
黑胡子大叔的小屋20 分钟前
基于springboot的海洋知识服务平台的设计与实现
java·spring boot·毕业设计
ThisIsClark23 分钟前
【后端面试总结】深入解析进程和线程的区别
java·jvm·面试
星就前端叭1 小时前
【开源】一款基于Vue3 + WebRTC + Node + SRS + FFmpeg搭建的直播间项目
前端·后端·开源·webrtc
m0_748234521 小时前
前端Vue3字体优化三部曲(webFont、font-spider、spa-font-spider-webpack-plugin)
前端·webpack·node.js
Web阿成1 小时前
3.学习webpack配置 尝试打包ts文件
前端·学习·webpack·typescript
雷神乐乐1 小时前
Spring学习(一)——Sping-XML
java·学习·spring
小林coding2 小时前
阿里云 Java 后端一面,什么难度?
java·后端·mysql·spring·阿里云
jwensh2 小时前
【Jenkins】Declarative和Scripted两种脚本模式有什么具体的区别
运维·前端·jenkins