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连接的性能,确保测试环境的稳定性。

相关推荐
川石课堂软件测试18 分钟前
UI自动化测试|web端元素获取&元素等待实践
开发语言·前端·功能测试·算法·ui
网安_秋刀鱼5 小时前
API安全
web安全·网络安全·1024程序员节
tester Jeffky8 小时前
全面解析 JMeter 后置处理器:概念、工作原理与应用场景
jmeter
惜.己8 小时前
Jmeter中的定时器
测试工具·jmeter·1024程序员节
回家吃月饼8 小时前
jmeter5.6.3安装教程
jmeter·压力测试
神即道 道法自然 如来8 小时前
JMeter如何配置分布式?
jmeter
codeMaster__hyd8 小时前
使用IDEA构建springboot项目+整合Mybatis
java·linux·centos·intellij-idea·intellij idea·1024程序员节
earthzhang20219 小时前
《深入浅出HTTPS》读书笔记(10):流密码算法
网络·网络协议·http·https·1024程序员节
CaptainDrake10 小时前
Charles抓包工具-笔记
网络·功能测试
Cat_Xu10 小时前
【TEST】Apache JMeter + Influxdb + Grafana
jmeter·grafana