Jmeter中的配置原件(三)

9--HTTP授权管理器

用途

  • 管理认证信息:为HTTP请求添加自定义的认证信息。
  • 支持多种认证方式:支持Basic、Digest、NTLM等多种认证方式。
  • 简化配置:避免在每个HTTP请求中重复配置认证信息。

配置步骤

  1. 添加HTTP授权管理器

    • 右键点击线程组(Thread Group)。
    • 选择"添加" -> "配置元件" -> "HTTP授权管理器"(HTTP Authorization Manager)。
  2. 配置HTTP授权管理器

    • 名称:给HTTP授权管理器一个有意义的名称。
    • 添加授权条目 :点击"添加"按钮,添加需要的授权条目。
      • Base URL :需要认证的URL的基础部分(例如http://example.com)。
      • 用户名:认证的用户名。
      • 密码:认证的密码。
      • :认证域(可选,主要用于NTLM认证)。
      • 认证方案:选择认证方式(例如Basic、Digest、NTLM等)。

示例配置

假设我们需要测试一个需要Basic认证的Web应用,并为多个请求添加认证信息。

  1. 创建测试计划

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

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟")。
  3. 添加HTTP授权管理器

    • 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> HTTP授权管理器。
    • 配置HTTP授权管理器:
      • 名称:HTTP授权管理器
      • 添加授权条目
        • Base URLhttp://example.com
        • 用户名user
        • 密码password
        • :(可选,留空)
        • 认证方案:Basic
  4. 添加HTTP请求

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

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

优化建议

  1. 认证方案

    • 根据目标服务器的认证方式选择合适的认证方案。常见的认证方式包括Basic、Digest和NTLM。
  2. Base URL

    • 确保Base URL的正确性,Base URL应该是需要认证的URL的基础部分。
  3. 多条认证信息

    • 如果需要为多个不同的URL添加认证信息,可以在HTTP授权管理器中添加多条授权条目。
  4. 动态认证信息

    • 使用JMeter的变量和函数来动态生成认证信息,例如使用${username}${password}来引用变量。
  5. 调试

    • 使用"查看结果树"监听器查看请求和响应的详细信息,确保认证信息被正确添加。
  6. 错误处理

    • 使用断言和监听器来捕获和分析认证失败的情况,及时发现和解决问题。

10--JDBC Connection Configuration

用途

  • 连接数据库:设置与数据库的连接信息,如数据库URL、用户名、密码等。
  • 执行SQL查询:在测试中执行SQL查询,测试数据库的性能。
  • 管理连接池:管理数据库连接池,提高测试效率。

配置步骤

  1. 添加JDBC Connection Configuration

    • 右键点击线程组(Thread Group)。
    • 选择"添加" -> "配置元件" -> "JDBC Connection Configuration"。
  2. 配置JDBC Connection Configuration

    • 变量名称:给数据库连接一个唯一的变量名称,用于在其他元件中引用。
    • 数据库URL :数据库的连接字符串(例如 jdbc:mysql://localhost:3306/mydatabase)。
    • JDBC驱动类 :数据库驱动类的全限定名(例如 com.mysql.jdbc.Driver)。
    • 用户名:连接数据库的用户名。
    • 密码:连接数据库的密码。
    • 连接池配置
      • 最大活动连接数:连接池中最大的活动连接数。
      • 最大空闲连接数:连接池中最大的空闲连接数。
      • 初始连接数:连接池初始化时创建的连接数。
      • 最小空闲连接数:连接池中最小的空闲连接数。
      • 最大等待时间:等待连接的最大时间(毫秒)。
    • 属性:可以添加额外的连接属性(可选)。

示例配置

假设我们需要测试一个MySQL数据库,执行一些SQL查询来验证性能。

  1. 创建测试计划

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

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"查询测试")。
  3. 添加JDBC Connection Configuration

    • 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> JDBC Connection Configuration。
    • 配置JDBC Connection Configuration:
      • 变量名称myDatabase
      • 数据库URLjdbc:mysql://localhost:3306/mydatabase
      • JDBC驱动类com.mysql.jdbc.Driver
      • 用户名root
      • 密码password
      • 连接池配置
        • 最大活动连接数:10
        • 最大空闲连接数:5
        • 初始连接数:2
        • 最小空闲连接数:1
        • 最大等待时间:30000(30秒)
  4. 添加JDBC请求

    • 右键点击线程组 -> 添加 -> 取样器 -> JDBC请求。
    • 配置JDBC请求:
      • 变量名称 :选择刚刚配置的数据库连接变量名称(例如myDatabase)。
      • SQL查询 :要执行的SQL查询(例如 SELECT * FROM users)。
      • 查询类型 :选择查询类型(例如Select Statement)。
      • 结果变量:存储查询结果的变量名称(可选)。
  5. 添加监听器

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

优化建议

  1. 连接池配置

    • 最大活动连接数:根据测试需求和数据库的性能设置合理的最大活动连接数。
    • 最大空闲连接数:设置合理的最大空闲连接数,避免连接池中过多的空闲连接浪费资源。
    • 初始连接数:设置合理的初始连接数,确保测试开始时有足够的连接可用。
    • 最小空闲连接数:设置合理的最小空闲连接数,确保连接池中始终有一定数量的空闲连接。
    • 最大等待时间:设置合理的最大等待时间,避免因连接不足导致测试失败。
  2. 数据库驱动类

    • 确保使用的数据库驱动类是最新的,并且与数据库版本兼容。
  3. SQL查询优化

    • 确保SQL查询的性能优化,避免执行耗时较长的查询。
  4. 错误处理

    • 使用断言和监听器来捕获和分析查询结果,及时发现和解决问题。
  5. 资源监控

    • 在测试过程中监控数据库的资源使用情况(如CPU、内存、磁盘I/O等),确保测试环境的稳定性。

11--Java默认请求

用途

  • 设置默认值:为多个Java请求设置通用的默认值,如类名、方法名等。
  • 简化配置:避免在每个Java请求中重复配置相同的参数。

配置步骤

  1. 添加Java默认请求

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

    • 名称:给Java默认请求一个有意义的名称。
    • 类名:要调用的Java类的全限定名。
    • 方法名:要调用的Java方法名。
    • 参数:方法的参数列表。
    • 参数类型:参数的类型列表。
    • 参数值:参数的值列表。
    • 其他属性:可以添加其他属性(可选)。

示例配置

假设我们需要测试一个Java类的方法,并希望使用Java默认请求来设置通用的连接信息。

  1. 创建测试计划

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

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

    • 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> Java请求默认值。
    • 配置Java默认请求:
      • 名称:Java默认请求
      • 类名 :要调用的Java类的全限定名(例如com.example.MyClass)。
      • 方法名 :要调用的Java方法名(例如myMethod)。
      • 参数 :方法的参数列表(例如param1,param2)。
      • 参数类型 :参数的类型列表(例如java.lang.String,java.lang.Integer)。
      • 参数值 :参数的值列表(例如value1,123)。
  4. 添加Java请求

    • 右键点击线程组 -> 添加 -> 取样器 -> Java请求。
    • 配置Java请求:
      • 名称:请求名称(例如"调用MyMethod")。
      • 类名:留空,使用默认值。
      • 方法名:留空,使用默认值。
      • 参数:留空,使用默认值。
      • 参数类型:留空,使用默认值。
      • 参数值:留空,使用默认值。
  5. 添加监听器

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

优化建议

  1. 默认值

    • 尽可能多地设置默认值,减少每个Java请求的配置工作量。
  2. 类名和方法名

    • 确保类名和方法名的正确性,避免因类名或方法名错误导致测试失败。
  3. 参数配置

    • 确保参数列表、参数类型和参数值的正确性,避免因参数错误导致测试失败。
  4. 动态参数

    • 使用JMeter的变量和函数来动态生成参数值,例如使用${variable}来引用变量。
  5. 调试

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

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

12--Keystore Configuration

用途

  • 配置密钥库:设置用于存储私钥和证书的密钥库文件。
  • 配置信任库:设置用于存储受信任的CA证书的信任库文件。
  • 支持SSL/TLS连接:确保JMeter能够正确地处理SSL/TLS连接,支持安全的HTTPS请求。

配置步骤

  1. 添加Keystore Configuration

    • 右键点击线程组(Thread Group)。
    • 选择"添加" -> "配置元件" -> "Keystore Configuration"。
  2. 配置Keystore Configuration

    • 名称:给Keystore Configuration一个有意义的名称。
    • 密钥库文件路径 :密钥库文件的路径(例如/path/to/keystore.jks)。
    • 密钥库类型 :密钥库的类型(默认为JKS)。
    • 密钥库密码:密钥库的密码。
    • 密钥别名:密钥的别名(如果密钥库中包含多个密钥)。
    • 密钥密码:密钥的密码(如果密钥密码与密钥库密码不同)。
    • 信任库文件路径 :信任库文件的路径(例如/path/to/truststore.jks)。
    • 信任库类型 :信任库的类型(默认为JKS)。
    • 信任库密码:信任库的密码。

示例配置

假设我们需要测试一个需要SSL/TLS连接的Web应用,并希望使用Keystore Configuration来配置密钥库和信任库。

  1. 创建测试计划

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

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"SSL/TLS测试")。
  3. 添加Keystore Configuration

    • 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> Keystore Configuration。
    • 配置Keystore Configuration:
      • 名称:Keystore Configuration
      • 密钥库文件路径/path/to/keystore.jks
      • 密钥库类型JKS
      • 密钥库密码keystore_password
      • 密钥别名my_key_alias
      • 密钥密码key_password
      • 信任库文件路径/path/to/truststore.jks
      • 信任库类型JKS
      • 信任库密码truststore_password
  4. 添加HTTP请求

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

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

优化建议

  1. 密钥库和信任库路径

    • 确保密钥库和信任库文件路径的正确性,确保JMeter能够找到这些文件。
  2. 密码管理

    • 确保密钥库和信任库的密码正确无误,避免因密码错误导致连接失败。
  3. 密钥别名

    • 如果密钥库中包含多个密钥,确保选择正确的密钥别名。
  4. 调试

    • 使用"查看结果树"监听器查看请求和响应的详细信息,确保SSL/TLS连接配置正确无误。
  5. 错误处理

    • 使用断言和监听器来捕获和分析SSL/TLS连接的错误,及时发现和解决问题。
  6. 性能监控

    • 在测试过程中监控系统的网络性能和SSL/TLS连接的性能,确保测试环境的稳定性。

相关推荐
卡布奇诺-海晨19 小时前
Jmeter实现3000个参数进行并发
jmeter
西瓜程序猿20 小时前
使用手机如何将纸质礼薄转换为电子礼薄?
测试工具·智能手机·创业创新·记了么·电子礼薄·份子钱
学传打活1 天前
古代汉语是源,现代汉语是流,源与流一脉相承。
微信公众平台·1024程序员节·汉字·中华文化
半个俗人1 天前
fiddler的基础使用
前端·测试工具·fiddler
站长工具箱1 天前
基于浏览器的键盘按键测试工具功能解析
测试工具·计算机外设
小陈的进阶之路2 天前
Selenium 滑动 vs Appium 滑动
python·selenium·测试工具·appium
程序员小远2 天前
软件测试用例总结
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
爱丽_2 天前
软件测试基础分类与核心概念整理
功能测试·测试工具·测试用例
测试人社区—83522 天前
‌TCP/IP协议栈参数调优验证:软件测试从业者指南
网络·人工智能·网络协议·tcp/ip·测试工具·语音识别·压力测试
趙卋傑2 天前
测试开发场景下常见的 MCP 服务
开发语言·python·测试工具·ai编程