2)配置原件

1--CSV Data Set Config
用途
- 参数化测试:从CSV文件中读取数据,为每个请求提供不同的参数值。
- 数据驱动测试:使用外部数据文件来驱动测试,使测试更加灵活和可扩展。
配置步骤
-  准备CSV文件 - 创建一个CSV文件,每行代表一组测试数据。
- 例如,创建一个名为test_data.csv的文件,内容如下:username,password user1,pass1 user2,pass2 user3,pass3
 
-  添加CSV Data Set Config - 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “CSV Data Set Config”。
 
-  配置CSV Data Set Config - 名称:给CSV Data Set Config一个有意义的名称。
- 文件名:指定CSV文件的路径(可以是绝对路径或相对路径)。
- 变量名:为CSV文件中的每一列指定一个变量名。这些变量名将在测试计划中使用。
- 分隔符:指定CSV文件中的分隔符,默认是逗号(,)。
- 忽略第一行:选择是否忽略CSV文件的第一行(通常是列标题)。
- 回收策略:选择当数据集用尽时的行为。 
    - True:重新开始读取文件。
- False:停止测试。
 
- 共享模式:选择数据共享模式。 
    - All threads:所有线程共享同一个数据集。
- Current thread group:当前线程组内的线程共享同一个数据集。
- Current thread:每个线程都有自己独立的数据集。
 
 
示例配置
假设我们需要测试一个登录接口,使用CSV文件中的用户名和密码进行参数化。
-  创建CSV文件: - 文件名:test_data.csv
- 内容: username,password user1,pass1 user2,pass2 user3,pass3
 
- 文件名:
-  创建线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“登录测试”)。
 
-  添加CSV Data Set Config: - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> CSV Data Set Config。
- 配置CSV Data Set Config: 
    - 名称:CSV Data Set Config
- 文件名:test_data.csv
- 变量名:username,password
- 分隔符:,
- 忽略第一行:勾选
- 回收策略:False
- 共享模式:Current thread
 
 
-  添加HTTP请求: - 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求: 
    - 服务器名称或IP:目标服务器的地址。
- 端口号:目标服务器的端口。
- 协议:HTTP或HTTPS。
- 方法:POST(假设登录接口是POST请求)。
- 路径:登录接口的路径(例如/login)。
- 参数: 
      - 名称:username
- 值:${username}
- 名称:password
- 值:${password}
 
- 名称:
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  文件路径: - 确保CSV文件的路径正确,可以使用相对路径以便于移植。
 
-  数据量: - 如果CSV文件中的数据量很大,确保JMeter有足够的内存来处理这些数据。
 
-  数据共享: - 根据测试需求选择合适的共享模式。对于需要每个线程独立数据的场景,选择Current thread模式。
 
- 根据测试需求选择合适的共享模式。对于需要每个线程独立数据的场景,选择
-  调试: - 使用“查看结果树”监听器查看请求和响应的详细信息,确保变量被正确替换。
 
-  错误处理: - 如果CSV文件中的数据格式不正确,可能会导致测试失败。确保CSV文件的格式正确,并在必要时添加错误处理逻辑。
 

2--HTTP信息头管理器
用途
- 设置请求头:为HTTP请求添加自定义的头信息。
- 保持一致性:确保所有相关的HTTP请求都包含相同的头信息。
- 模拟真实请求:许多Web应用依赖于特定的请求头信息,使用HTTP信息头管理器可以更真实地模拟用户请求。
配置步骤
-  添加HTTP信息头管理器 - 右键点击线程组(Thread Group)或特定的HTTP请求。
- 选择“添加” -> “配置元件” -> “HTTP信息头管理器”。
 
-  配置HTTP信息头管理器 - 名称:给HTTP信息头管理器一个有意义的名称。
- 添加头信息:点击“添加”按钮,添加需要的头信息。 
    - 名称:头信息的名称(例如Content-Type、Authorization、Cookie等)。
- 值:头信息的值(例如application/json、Bearer <token>、sessionid=12345等)。
 
- 名称:头信息的名称(例如
 
示例配置
假设我们需要测试一个需要认证的API,并且每个请求都需要包含特定的Authorization头和Content-Type头。
-  创建线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“API测试”)。
 
-  添加HTTP信息头管理器: - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> HTTP信息头管理器。
- 配置HTTP信息头管理器: 
    - 名称:HTTP信息头管理器
- 添加头信息: 
      - 名称:Authorization
- 值:Bearer <your_token>
- 名称:Content-Type
- 值:application/json
 
- 名称:
 
 
-  添加HTTP请求: - 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求: 
    - 服务器名称或IP:目标服务器的地址。
- 端口号:目标服务器的端口。
- 协议:HTTP或HTTPS。
- 方法:GET、POST等。
- 路径:API的路径(例如/api/v1/users)。
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  避免重复配置: - 如果多个HTTP请求需要相同的头信息,可以将HTTP信息头管理器添加到线程组级别,而不是每个请求单独配置。这样可以减少重复配置,提高维护的便利性。
 
-  动态头信息: - 对于需要动态生成的头信息(例如Token),可以使用JMeter的变量或函数。例如,可以在头信息的值中使用${token},然后在测试计划中定义token变量。
 
- 对于需要动态生成的头信息(例如Token),可以使用JMeter的变量或函数。例如,可以在头信息的值中使用
-  调试和验证: - 使用“查看结果树”监听器查看请求和响应的详细信息,确保头信息被正确添加。
- 可以使用“查看结果树”中的“请求”选项卡查看发送的请求头信息。
 
-  性能考虑: - 尽量减少不必要的头信息,只添加必需的头信息,以减少请求的开销。
- 对于大型测试计划,确保头信息的配置不会导致性能瓶颈。
 

3--HTTP缓存管理器
用途
- 减少重复请求:避免多次请求相同的静态资源(如图片、CSS、JavaScript文件),从而减少网络流量和服务器负载。
- 提高测试效率:通过缓存机制,可以加快测试用例的执行速度,特别是在多次迭代测试中。
- 模拟真实用户行为:浏览器通常会缓存静态资源,使用HTTP缓存管理器可以使测试更接近真实用户的上网体验。
配置步骤
-  添加HTTP缓存管理器 - 右键点击线程组(Thread Group)或测试计划(Test Plan)。
- 选择“添加” -> “配置元件” -> “HTTP 缓存管理器”。
 
-  配置HTTP缓存管理器 - 名称:给HTTP缓存管理器一个有意义的名称。
- 清除每迭代的缓存:选择是否在每次迭代开始时清空缓存。 
    - True:每次迭代开始时清空缓存。
- False:不清空缓存,保持上一次迭代的缓存状态。
 
- 使用Expires字段:选择是否使用HTTP响应中的Expires头来决定缓存的有效期。 
    - True:使用Expires头。
- False:不使用Expires头。
 
- 最大缓存条目数:设置缓存的最大条目数。超过这个数量时,最早的缓存条目将被移除。
- 最大缓存大小:设置缓存的最大总大小(以字节为单位)。超过这个大小时,最早的缓存条目将被移除。
 
示例配置
假设我们需要测试一个Web应用程序,并希望模拟浏览器的缓存机制以减少不必要的网络请求。
-  创建线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“缓存测试”)。
 
-  添加HTTP缓存管理器: - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> HTTP 缓存管理器。
- 配置HTTP缓存管理器: 
    - 名称:HTTP 缓存管理器
- 清除每迭代的缓存:False
- 使用Expires字段:True
- 最大缓存条目数:50
- 最大缓存大小:10000000(10MB)
 
 
-  添加HTTP请求: - 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求: 
    - 服务器名称或IP:目标服务器的地址。
- 端口号:目标服务器的端口。
- 协议:HTTP或HTTPS。
- 方法:GET(假设请求的是静态资源)。
- 路径:静态资源的路径(例如/images/logo.png)。
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
注意事项
- 缓存策略:HTTP缓存管理器会根据HTTP响应头中的Cache-Control、Expires等字段来决定缓存的有效期。
- 缓存大小:合理设置最大缓存条目数和最大缓存大小,避免占用过多内存。
- 清除缓存:根据测试需求选择是否在每次迭代开始时清空缓存。如果不清空缓存,可以更好地模拟用户在多次访问同一页面时的行为。

4-- Http cookie管理器
用途
- 管理Cookie:自动处理和存储服务器返回的Cookie,并在后续请求中自动发送这些Cookie。
- 保持会话状态:确保多个请求之间的会话状态保持一致,特别是在需要登录或其他会话管理的情况下。
配置步骤
-  添加HTTP Cookie管理器 - 右键点击线程组(Thread Group)或测试计划(Test Plan)。
- 选择“添加” -> “配置元件” -> “HTTP Cookie Manager”。
 
-  配置HTTP Cookie管理器 - 名称:给HTTP Cookie管理器一个有意义的名称。
- Cookie策略:选择处理Cookie的策略。常见的策略有: 
    - default:默认策略,适用于大多数情况。
- compatibility:兼容旧版浏览器的行为。
- netscape:遵循Netscape规范。
- rfc2109:遵循RFC 2109规范。
- rfc2965:遵循RFC 2965规范。
- ignore:忽略所有Cookie。
 
- 共享Cookie:选择是否在多个用户线程之间共享Cookie。 
    - True:所有线程共享同一个Cookie池。
- False:每个线程有自己的独立Cookie池。
 
- 预定义Cookie:手动添加预定义的Cookie。这对于某些需要初始Cookie的测试场景非常有用。 
    - 名称:Cookie的名称。
- 值:Cookie的值。
- 域名:Cookie的域名。
- 路径:Cookie的路径。
- 注释:可选的注释信息。
- 过期时间:Cookie的过期时间(可选)。
- 安全:是否标记为安全Cookie(仅通过HTTPS传输)。
 
 
示例配置
假设我们需要测试一个需要登录的Web应用程序,并且希望JMeter能够自动管理Cookie以保持会话状态。
-  创建线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“登录测试”)。
 
-  添加HTTP Cookie管理器: - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> HTTP Cookie Manager。
- 配置HTTP Cookie管理器: 
    - 名称:HTTP Cookie Manager
- Cookie策略:default
- 共享Cookie:False
- 预定义Cookie:(如果需要)
 
 
-  添加HTTP请求: - 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求: 
    - 服务器名称或IP:目标服务器的地址。
- 端口号:目标服务器的端口。
- 协议:HTTP或HTTPS。
- 方法:POST(假设登录接口是POST请求)。
- 路径:登录接口的路径(例如/login)。
- 参数:添加登录所需的参数(例如username和password)。
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
注意事项
- Cookie生命周期:HTTP Cookie管理器会根据服务器返回的Set-Cookie头自动管理Cookie的生命周期。
- 安全Cookie:如果服务器返回的Cookie标记为安全(Secure),则只有在HTTPS请求中才会发送该Cookie。
- 跨域Cookie:HTTP Cookie管理器会自动处理跨域Cookie,但需要确保域名和路径匹配。

5--HTTP请求默认值
用途
- 设置默认值:为多个HTTP请求设置通用的默认值,如服务器地址、端口号、协议等。
- 简化配置:避免在每个HTTP请求中重复配置相同的参数。
配置步骤
-  添加HTTP请求管理器 - 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “HTTP请求默认值”(HTTP Request Defaults)。
 
-  配置HTTP请求管理器 - 名称:给HTTP请求管理器一个有意义的名称。
- 服务器名称或IP:目标服务器的地址。
- 端口号:目标服务器的端口。
- 协议:HTTP或HTTPS。
- 内容编码:请求的编码方式(如UTF-8)。
- 路径:请求的默认路径(可选)。
- 方法:请求的默认方法(如GET、POST等)。
- 参数:请求的默认参数(可选)。
- HTTP头部:请求的默认头部信息(可选)。
 
示例配置
假设我们需要测试一个Web应用,所有请求都指向同一个服务器,并且使用相同的协议和端口。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
 
-  添加HTTP请求管理器: - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> HTTP请求默认值。
- 配置HTTP请求管理器: 
    - 名称:HTTP请求默认值
- 服务器名称或IP:目标服务器的地址(例如example.com)。
- 端口号:目标服务器的端口(例如80)。
- 协议:HTTP或HTTPS(例如HTTP)。
- 内容编码:请求的编码方式(例如UTF-8)。
- 路径:请求的默认路径(可选,例如/api)。
- 方法:请求的默认方法(可选,例如GET)。
 
 
-  添加HTTP请求: - 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求: 
    - 名称:请求名称(例如“获取用户列表”)。
- 路径:请求的具体路径(例如/users)。
- 方法:请求的方法(例如GET)。
- 参数:请求的参数(可选)。
- HTTP头部:请求的头部信息(可选)。
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  默认值: - 尽可能多地设置默认值,减少每个HTTP请求的配置工作量。
 
-  路径和方法: - 如果所有请求的路径和方法相同,可以在HTTP请求管理器中设置默认值,避免在每个请求中重复配置。
 
-  参数和头部: - 对于常用的参数和头部信息,可以在HTTP请求管理器中设置默认值,但在具体请求中也可以覆盖这些默认值。
 
-  动态参数: - 使用JMeter的变量和函数来动态生成请求参数,例如使用${variable}来引用变量。
 
- 使用JMeter的变量和函数来动态生成请求参数,例如使用
-  调试: - 使用“查看结果树”监听器查看请求和响应的详细信息,确保请求的配置正确无误。
 

6--Bolt Connection Configuration
用途
- 连接 Neo4j 数据库:设置与 Neo4j 数据库的连接信息。
- 执行 Cypher 查询:在测试中执行 Cypher 查询,测试图形数据库的性能。
配置步骤
-  安装 Neo4j 插件 - 下载并安装 JMeter 的 Neo4j 插件。插件通常包含在 JMeter 的插件管理器中。
- 打开 JMeter,点击“选项” -> “插件管理器” -> “可用插件”,搜索并安装 Neo4j 插件。
 
-  添加 Bolt Connection Configuration - 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “Bolt Connection Configuration”。
 
-  配置 Bolt Connection Configuration - 名称:给 Bolt Connection Configuration 一个有意义的名称。
- Bolt URL:Neo4j 数据库的 Bolt 协议 URL(例如 bolt://localhost:7687)。
- 用户名:连接 Neo4j 数据库的用户名。
- 密码:连接 Neo4j 数据库的密码。
- 数据库:连接的数据库名称(可选,默认为 neo4j)。
- 超时时间:连接和查询的超时时间(可选)。
- 复用连接:选择是否复用连接(通常选择 True)。
 
示例配置
假设我们需要测试一个 Neo4j 数据库,执行一些 Cypher 查询来验证性能。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Neo4j 性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“查询测试”)。
 
-  添加 Bolt Connection Configuration - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> Bolt Connection Configuration。
- 配置 Bolt Connection Configuration: 
    - 名称:Bolt Connection Configuration
- Bolt URL:bolt://localhost:7687
- 用户名:neo4j
- 密码:password
- 数据库:neo4j
- 超时时间:30000(30秒)
- 复用连接:True
 
 
-  添加 Bolt Sampler - 右键点击线程组 -> 添加 -> 取样器 -> Bolt Sampler。
- 配置 Bolt Sampler: 
    - 名称:查询名称(例如“获取用户列表”)。
- 查询:要执行的 Cypher 查询(例如 MATCH (u:User) RETURN u)。
- 参数:查询参数(可选)。
- 结果变量:存储查询结果的变量名称(可选)。
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  连接复用: - 选择复用连接(True),可以减少连接的开销,提高测试效率。
 
- 选择复用连接(
-  超时时间: - 设置合理的超时时间,避免因网络延迟或数据库性能问题导致测试失败。
 
-  查询优化: - 确保 Cypher 查询的性能优化,避免执行耗时较长的查询。
 
-  错误处理: - 使用断言和监听器来捕获和分析查询结果,及时发现和解决问题。
 
-  资源监控: - 在测试过程中监控 Neo4j 数据库的资源使用情况(如CPU、内存、磁盘I/O等),确保测试环境的稳定性。
 

7--DNS缓存管理器
用途
- 减少DNS查询:避免每次请求都进行DNS解析,减少网络延迟。
- 提高测试效率:通过缓存DNS解析结果,加快测试用例的执行速度。
- 模拟真实用户行为:浏览器通常会缓存DNS解析结果,使用DNS缓存管理器可以使测试更接近真实用户的上网体验。
配置步骤
-  添加DNS缓存管理器 - 右键点击线程组(Thread Group)或测试计划(Test Plan)。
- 选择“添加” -> “配置元件” -> “DNS缓存管理器”。
 
-  配置DNS缓存管理器 - 名称:给DNS缓存管理器一个有意义的名称。
- 清除每迭代的缓存:选择是否在每次迭代开始时清空DNS缓存。 
    - True:每次迭代开始时清空缓存。
- False:不清空缓存,保持上一次迭代的缓存状态。
 
- 使用系统DNS缓存:选择是否使用操作系统的DNS缓存。 
    - True:使用操作系统的DNS缓存。
- False:不使用操作系统的DNS缓存,使用JMeter内置的DNS缓存。
 
 
示例配置
假设我们需要测试一个Web应用,并希望使用DNS缓存管理器来减少DNS查询,提高测试效率。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
 
-  添加DNS缓存管理器: - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> DNS缓存管理器。
- 配置DNS缓存管理器: 
    - 名称:DNS缓存管理器
- 清除每迭代的缓存:False
- 使用系统DNS缓存:False
 
 
-  添加HTTP请求: - 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求: 
    - 服务器名称或IP:目标服务器的地址(例如example.com)。
- 端口号:目标服务器的端口(例如80)。
- 协议:HTTP或HTTPS(例如HTTP)。
- 方法:请求的方法(例如GET)。
- 路径:请求的路径(例如/index.html)。
 
- 服务器名称或IP:目标服务器的地址(例如
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  清除每迭代的缓存: - 根据测试需求选择是否在每次迭代开始时清空DNS缓存。如果不清空缓存,可以更好地模拟用户在多次访问同一页面时的行为。
 
-  使用系统DNS缓存: - 如果操作系统已经有一个高效的DNS缓存机制,可以选择使用系统的DNS缓存。否则,使用JMeter内置的DNS缓存通常更可靠。
 
-  测试环境: - 确保测试环境中DNS解析服务的稳定性和可靠性,避免因DNS解析问题导致测试失败。
 
-  调试: - 使用“查看结果树”监听器查看请求和响应的详细信息,确保DNS解析结果正确无误。
 
-  性能监控: - 在测试过程中监控系统的网络性能和DNS解析时间,确保测试环境的稳定性。
 

8--FTP默认请求
用途
- 设置默认值:为多个FTP请求设置通用的默认值,如服务器地址、端口号、用户名和密码等。
- 简化配置:避免在每个FTP请求中重复配置相同的参数。
配置步骤
-  添加FTP默认请求 - 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “FTP请求默认值”(FTP Request Defaults)。
 
-  配置FTP默认请求 - 名称:给FTP默认请求一个有意义的名称。
- 服务器地址:FTP服务器的地址。
- 端口号:FTP服务器的端口(默认为21)。
- 用户名:连接FTP服务器的用户名。
- 密码:连接FTP服务器的密码。
- 被动模式:选择是否使用被动模式(通常选择 True)。
- 超时时间:连接和传输的超时时间(可选)。
 
示例配置
假设我们需要测试一个FTP服务器,上传和下载文件,并希望使用FTP默认请求来设置通用的连接信息。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“FTP性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“FTP测试”)。
 
-  添加FTP默认请求: - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> FTP请求默认值。
- 配置FTP默认请求: 
    - 名称:FTP默认请求
- 服务器地址:FTP服务器的地址(例如ftp.example.com)。
- 端口号:FTP服务器的端口(默认为21)。
- 用户名:连接FTP服务器的用户名(例如user)。
- 密码:连接FTP服务器的密码(例如password)。
- 被动模式:True
- 超时时间:30000(30秒)
 
 
-  添加FTP请求: - 右键点击线程组 -> 添加 -> 取样器 -> FTP请求。
- 配置FTP请求: 
    - 名称:请求名称(例如“上传文件”)。
- 服务器地址:留空,使用默认值。
- 端口号:留空,使用默认值。
- 用户名:留空,使用默认值。
- 密码:留空,使用默认值。
- 被动模式:留空,使用默认值。
- 命令:选择FTP命令(例如STOR表示上传文件)。
- 远程文件:远程文件路径(例如/remote/path/file.txt)。
- 本地文件:本地文件路径(例如C:\local\path\file.txt)。
- 二进制模式:选择是否使用二进制模式(通常选择 True)。
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  默认值: - 尽可能多地设置默认值,减少每个FTP请求的配置工作量。
 
-  命令和文件路径: - 确保FTP命令和文件路径的正确性,避免因路径错误导致测试失败。
 
-  超时时间: - 设置合理的超时时间,避免因网络延迟或服务器性能问题导致测试失败。
 
-  被动模式: - 选择被动模式(True),可以避免防火墙和NAT设备的影响,提高测试的稳定性。
 
- 选择被动模式(
-  错误处理: - 使用断言和监听器来捕获和分析FTP请求的结果,及时发现和解决问题。
 
-  资源监控: - 在测试过程中监控FTP服务器的资源使用情况(如CPU、内存、磁盘I/O等),确保测试环境的稳定性。
 

9--HTTP授权管理器
用途
- 管理认证信息:为HTTP请求添加自定义的认证信息。
- 支持多种认证方式:支持Basic、Digest、NTLM等多种认证方式。
- 简化配置:避免在每个HTTP请求中重复配置认证信息。
配置步骤
-  添加HTTP授权管理器 - 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “HTTP授权管理器”(HTTP Authorization Manager)。
 
-  配置HTTP授权管理器 - 名称:给HTTP授权管理器一个有意义的名称。
- 添加授权条目:点击“添加”按钮,添加需要的授权条目。 
    - Base URL:需要认证的URL的基础部分(例如http://example.com)。
- 用户名:认证的用户名。
- 密码:认证的密码。
- 域:认证域(可选,主要用于NTLM认证)。
- 认证方案:选择认证方式(例如Basic、Digest、NTLM等)。
 
- Base URL:需要认证的URL的基础部分(例如
 
示例配置
假设我们需要测试一个需要Basic认证的Web应用,并为多个请求添加认证信息。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
 
-  添加HTTP授权管理器: - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> HTTP授权管理器。
- 配置HTTP授权管理器: 
    - 名称:HTTP授权管理器
- 添加授权条目: 
      - Base URL:http://example.com
- 用户名:user
- 密码:password
- 域:(可选,留空)
- 认证方案:Basic
 
- Base URL:
 
 
-  添加HTTP请求: - 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求: 
    - 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如example.com)。
- 端口号:目标服务器的端口(例如80)。
- 协议:HTTP或HTTPS(例如HTTP)。
- 方法:请求的方法(例如GET)。
- 路径:请求的路径(例如/api/users)。
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  认证方案: - 根据目标服务器的认证方式选择合适的认证方案。常见的认证方式包括Basic、Digest和NTLM。
 
-  Base URL: - 确保Base URL的正确性,Base URL应该是需要认证的URL的基础部分。
 
-  多条认证信息: - 如果需要为多个不同的URL添加认证信息,可以在HTTP授权管理器中添加多条授权条目。
 
-  动态认证信息: - 使用JMeter的变量和函数来动态生成认证信息,例如使用${username}和${password}来引用变量。
 
- 使用JMeter的变量和函数来动态生成认证信息,例如使用
-  调试: - 使用“查看结果树”监听器查看请求和响应的详细信息,确保认证信息被正确添加。
 
-  错误处理: - 使用断言和监听器来捕获和分析认证失败的情况,及时发现和解决问题。
 

10--JDBC Connection Configuration
用途
- 连接数据库:设置与数据库的连接信息,如数据库URL、用户名、密码等。
- 执行SQL查询:在测试中执行SQL查询,测试数据库的性能。
- 管理连接池:管理数据库连接池,提高测试效率。
配置步骤
-  添加JDBC Connection Configuration - 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “JDBC Connection Configuration”。
 
-  配置JDBC Connection Configuration - 变量名称:给数据库连接一个唯一的变量名称,用于在其他元件中引用。
- 数据库URL:数据库的连接字符串(例如 jdbc:mysql://localhost:3306/mydatabase)。
- JDBC驱动类:数据库驱动类的全限定名(例如 com.mysql.jdbc.Driver)。
- 用户名:连接数据库的用户名。
- 密码:连接数据库的密码。
- 连接池配置: 
    - 最大活动连接数:连接池中最大的活动连接数。
- 最大空闲连接数:连接池中最大的空闲连接数。
- 初始连接数:连接池初始化时创建的连接数。
- 最小空闲连接数:连接池中最小的空闲连接数。
- 最大等待时间:等待连接的最大时间(毫秒)。
 
- 属性:可以添加额外的连接属性(可选)。
 
示例配置
假设我们需要测试一个MySQL数据库,执行一些SQL查询来验证性能。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“数据库性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“查询测试”)。
 
-  添加JDBC Connection Configuration - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> JDBC Connection Configuration。
- 配置JDBC Connection Configuration: 
    - 变量名称:myDatabase
- 数据库URL:jdbc:mysql://localhost:3306/mydatabase
- JDBC驱动类:com.mysql.jdbc.Driver
- 用户名:root
- 密码:password
- 连接池配置: 
      - 最大活动连接数:10
- 最大空闲连接数:5
- 初始连接数:2
- 最小空闲连接数:1
- 最大等待时间:30000(30秒)
 
 
- 变量名称:
 
-  添加JDBC请求: - 右键点击线程组 -> 添加 -> 取样器 -> JDBC请求。
- 配置JDBC请求: 
    - 变量名称:选择刚刚配置的数据库连接变量名称(例如myDatabase)。
- SQL查询:要执行的SQL查询(例如 SELECT * FROM users)。
- 查询类型:选择查询类型(例如Select Statement)。
- 结果变量:存储查询结果的变量名称(可选)。
 
- 变量名称:选择刚刚配置的数据库连接变量名称(例如
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  连接池配置: - 最大活动连接数:根据测试需求和数据库的性能设置合理的最大活动连接数。
- 最大空闲连接数:设置合理的最大空闲连接数,避免连接池中过多的空闲连接浪费资源。
- 初始连接数:设置合理的初始连接数,确保测试开始时有足够的连接可用。
- 最小空闲连接数:设置合理的最小空闲连接数,确保连接池中始终有一定数量的空闲连接。
- 最大等待时间:设置合理的最大等待时间,避免因连接不足导致测试失败。
 
-  数据库驱动类: - 确保使用的数据库驱动类是最新的,并且与数据库版本兼容。
 
-  SQL查询优化: - 确保SQL查询的性能优化,避免执行耗时较长的查询。
 
-  错误处理: - 使用断言和监听器来捕获和分析查询结果,及时发现和解决问题。
 
-  资源监控: - 在测试过程中监控数据库的资源使用情况(如CPU、内存、磁盘I/O等),确保测试环境的稳定性。
 

11--Java默认请求
用途
- 设置默认值:为多个Java请求设置通用的默认值,如类名、方法名等。
- 简化配置:避免在每个Java请求中重复配置相同的参数。
配置步骤
-  添加Java默认请求 - 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “Java请求默认值”(Java Request Defaults)。
 
-  配置Java默认请求 - 名称:给Java默认请求一个有意义的名称。
- 类名:要调用的Java类的全限定名。
- 方法名:要调用的Java方法名。
- 参数:方法的参数列表。
- 参数类型:参数的类型列表。
- 参数值:参数的值列表。
- 其他属性:可以添加其他属性(可选)。
 
示例配置
假设我们需要测试一个Java类的方法,并希望使用Java默认请求来设置通用的连接信息。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Java方法性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“Java测试”)。
 
-  添加Java默认请求: - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> Java请求默认值。
- 配置Java默认请求: 
    - 名称:Java默认请求
- 类名:要调用的Java类的全限定名(例如com.example.MyClass)。
- 方法名:要调用的Java方法名(例如myMethod)。
- 参数:方法的参数列表(例如param1,param2)。
- 参数类型:参数的类型列表(例如java.lang.String,java.lang.Integer)。
- 参数值:参数的值列表(例如value1,123)。
 
 
-  添加Java请求: - 右键点击线程组 -> 添加 -> 取样器 -> Java请求。
- 配置Java请求: 
    - 名称:请求名称(例如“调用MyMethod”)。
- 类名:留空,使用默认值。
- 方法名:留空,使用默认值。
- 参数:留空,使用默认值。
- 参数类型:留空,使用默认值。
- 参数值:留空,使用默认值。
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  默认值: - 尽可能多地设置默认值,减少每个Java请求的配置工作量。
 
-  类名和方法名: - 确保类名和方法名的正确性,避免因类名或方法名错误导致测试失败。
 
-  参数配置: - 确保参数列表、参数类型和参数值的正确性,避免因参数错误导致测试失败。
 
-  动态参数: - 使用JMeter的变量和函数来动态生成参数值,例如使用${variable}来引用变量。
 
- 使用JMeter的变量和函数来动态生成参数值,例如使用
-  调试: - 使用“查看结果树”监听器查看请求和响应的详细信息,确保Java请求的配置正确无误。
 
-  错误处理: - 使用断言和监听器来捕获和分析Java请求的结果,及时发现和解决问题。
 

12--Keystore Configuration
用途
- 配置密钥库:设置用于存储私钥和证书的密钥库文件。
- 配置信任库:设置用于存储受信任的CA证书的信任库文件。
- 支持SSL/TLS连接:确保JMeter能够正确地处理SSL/TLS连接,支持安全的HTTPS请求。
配置步骤
-  添加Keystore Configuration - 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “Keystore Configuration”。
 
-  配置Keystore Configuration - 名称:给Keystore Configuration一个有意义的名称。
- 密钥库文件路径:密钥库文件的路径(例如/path/to/keystore.jks)。
- 密钥库类型:密钥库的类型(默认为JKS)。
- 密钥库密码:密钥库的密码。
- 密钥别名:密钥的别名(如果密钥库中包含多个密钥)。
- 密钥密码:密钥的密码(如果密钥密码与密钥库密码不同)。
- 信任库文件路径:信任库文件的路径(例如/path/to/truststore.jks)。
- 信任库类型:信任库的类型(默认为JKS)。
- 信任库密码:信任库的密码。
 
示例配置
假设我们需要测试一个需要SSL/TLS连接的Web应用,并希望使用Keystore Configuration来配置密钥库和信任库。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“SSL/TLS性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“SSL/TLS测试”)。
 
-  添加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
 
 
-  添加HTTP请求: - 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求: 
    - 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如example.com)。
- 端口号:目标服务器的端口(例如443)。
- 协议:HTTPS。
- 方法:请求的方法(例如GET)。
- 路径:请求的路径(例如/api/users)。
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  密钥库和信任库路径: - 确保密钥库和信任库文件路径的正确性,确保JMeter能够找到这些文件。
 
-  密码管理: - 确保密钥库和信任库的密码正确无误,避免因密码错误导致连接失败。
 
-  密钥别名: - 如果密钥库中包含多个密钥,确保选择正确的密钥别名。
 
-  调试: - 使用“查看结果树”监听器查看请求和响应的详细信息,确保SSL/TLS连接配置正确无误。
 
-  错误处理: - 使用断言和监听器来捕获和分析SSL/TLS连接的错误,及时发现和解决问题。
 
-  性能监控: - 在测试过程中监控系统的网络性能和SSL/TLS连接的性能,确保测试环境的稳定性。
 

13--LDAP扩展请求默认值
用途
- 设置默认值:为多个LDAP扩展请求设置通用的默认值,如服务器地址、端口号、用户名和密码等。
- 简化配置:避免在每个LDAP扩展请求中重复配置相同的参数。
配置步骤
-  添加LDAP扩展请求默认值 - 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “LDAP扩展请求默认值”(LDAP Extended Request Defaults)。
 
-  配置LDAP扩展请求默认值 - 名称:给LDAP扩展请求默认值一个有意义的名称。
- 服务器地址:LDAP服务器的地址(例如ldap.example.com)。
- 端口号:LDAP服务器的端口(默认为389)。
- 用户名:连接LDAP服务器的用户名。
- 密码:连接LDAP服务器的密码。
- 基DN:LDAP目录的基DN(例如dc=example,dc=com)。
- 扩展请求OID:扩展请求的OID(对象标识符)。
- 扩展请求值:扩展请求的值(可选)。
- 其他属性:可以添加其他属性(可选)。
 
示例配置
假设我们需要测试一个LDAP服务器,执行一些扩展请求来验证性能。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“LDAP性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“LDAP测试”)。
 
-  添加LDAP扩展请求默认值: - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> LDAP扩展请求默认值。
- 配置LDAP扩展请求默认值: 
    - 名称:LDAP扩展请求默认值
- 服务器地址:ldap.example.com
- 端口号:389
- 用户名:cn=admin,dc=example,dc=com
- 密码:admin_password
- 基DN:dc=example,dc=com
- 扩展请求OID:1.3.6.1.4.1.1466.20037(示例OID,具体根据需求选择)
- 扩展请求值:(可选,根据需求填写)
 
 
-  添加LDAP扩展请求: - 右键点击线程组 -> 添加 -> 取样器 -> LDAP扩展请求。
- 配置LDAP扩展请求: 
    - 名称:请求名称(例如“执行扩展请求”)。
- 服务器地址:留空,使用默认值。
- 端口号:留空,使用默认值。
- 用户名:留空,使用默认值。
- 密码:留空,使用默认值。
- 基DN:留空,使用默认值。
- 扩展请求OID:留空,使用默认值。
- 扩展请求值:留空,使用默认值。
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  默认值: - 尽可能多地设置默认值,减少每个LDAP扩展请求的配置工作量。
 
-  服务器地址和端口号: - 确保服务器地址和端口号的正确性,避免因地址或端口错误导致连接失败。
 
-  用户名和密码: - 确保用户名和密码的正确性,避免因认证失败导致请求失败。
 
-  基DN: - 确保基DN的正确性,基DN是LDAP目录的根节点,用于定位目录结构。
 
-  扩展请求OID和值: - 确保扩展请求OID和值的正确性,避免因OID或值错误导致请求失败。
 
-  调试: - 使用“查看结果树”监听器查看请求和响应的详细信息,确保LDAP扩展请求的配置正确无误。
 
-  错误处理: - 使用断言和监听器来捕获和分析LDAP扩展请求的结果,及时发现和解决问题。
 

14--Random Variable
用途
- 生成随机值:为测试中的变量生成随机值。
- 模拟真实用户行为:通过随机化数据,使测试更接近真实用户的使用场景。
- 数据多样性:为测试提供多样化的输入数据,提高测试的覆盖率。
配置步骤
-  添加Random Variable - 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “随机变量”(Random Variable)。
 
-  配置Random Variable - 名称:给随机变量一个有意义的名称。
- 变量名称:生成的随机值将存储在这个变量中,可以在其他元件中引用这个变量。
- 最小值:生成随机值的最小值。
- 最大值:生成随机值的最大值。
- 输出格式:生成随机值的格式(例如%d表示整数,%s表示字符串)。
- 种子:随机数生成器的种子值,用于生成可重复的随机序列(可选)。
 
示例配置
假设我们需要测试一个Web应用,生成随机的用户ID和订单号。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
 
-  添加随机变量(用户ID): - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> 随机变量。
- 配置随机变量: 
    - 名称:随机用户ID
- 变量名称:randomUserId
- 最小值:1000
- 最大值:9999
- 输出格式:%d
- 种子:(可选,留空)
 
 
-  添加随机变量(订单号): - 右键点击线程组 -> 添加 -> 配置元件 -> 随机变量。
- 配置随机变量: 
    - 名称:随机订单号
- 变量名称:randomOrderId
- 最小值:100000
- 最大值:999999
- 输出格式:%d
- 种子:(可选,留空)
 
 
-  添加HTTP请求: - 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求: 
    - 名称:请求名称(例如“提交订单”)。
- 服务器名称或IP:目标服务器的地址(例如example.com)。
- 端口号:目标服务器的端口(例如80)。
- 协议:HTTP或HTTPS(例如HTTP)。
- 方法:请求的方法(例如POST)。
- 路径:请求的路径(例如/submitOrder)。
- 参数: 
      - 名称:userId
- 值:${randomUserId}
- 名称:orderId
- 值:${randomOrderId}
 
- 名称:
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  变量名称: - 给变量一个有意义的名称,以便在其他元件中引用。
 
-  最小值和最大值: - 根据测试需求设置合理的最小值和最大值,确保生成的随机值符合预期范围。
 
-  输出格式: - 根据需要选择合适的输出格式,例如%d表示整数,%s表示字符串。
 
- 根据需要选择合适的输出格式,例如
-  种子: - 如果需要生成可重复的随机序列,可以设置种子值。否则,留空以生成不可预测的随机值。
 
-  调试: - 使用“查看结果树”监听器查看请求和响应的详细信息,确保随机变量的配置正确无误。
 
-  错误处理: - 使用断言和监听器来捕获和分析请求的结果,及时发现和解决问题。
 

15--TCP取样器配置
用途
- 发送和接收TCP消息:模拟客户端与TCP服务器之间的通信。
- 测试TCP服务器:验证TCP服务器的性能和功能。
- 自定义消息格式:支持多种消息格式,如文本、二进制等。
配置步骤
-  添加TCP取样器 - 右键点击线程组(Thread Group)。
- 选择“添加” -> “取样器” -> “TCP取样器”(TCP Sampler)。
 
-  配置TCP取样器 - 名称:给TCP取样器一个有意义的名称。
- 服务器名称或IP:TCP服务器的地址。
- 端口号:TCP服务器的端口。
- 超时时间:连接和传输的超时时间(毫秒)。
- 重试次数:连接失败时的重试次数。
- 关闭连接:选择是否在每次请求后关闭连接。
- 请求数据:要发送的消息内容。
- 请求编码:消息的编码方式(例如UTF-8)。
- 响应编码:服务器返回的消息的编码方式(例如UTF-8)。
- 响应超时:等待服务器响应的超时时间(毫秒)。
- 使用EOL字节:选择是否在请求数据末尾添加EOL字节(通常用于文本消息)。
- EOL字节:指定EOL字节(例如\n)。
- 使用二进制模式:选择是否使用二进制模式发送和接收消息。
- 响应字段:指定从服务器返回的消息中提取特定字段(可选)。
 
示例配置
假设我们需要测试一个TCP服务器,发送一条简单的文本消息并接收响应。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“TCP性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“TCP测试”)。
 
-  添加TCP取样器: - 右键点击刚刚创建的线程组 -> 添加 -> 取样器 -> TCP取样器。
- 配置TCP取样器: 
    - 名称:TCP取样器
- 服务器名称或IP:tcp.example.com
- 端口号:12345
- 超时时间:30000(30秒)
- 重试次数:3
- 关闭连接:False
- 请求数据:Hello, TCP Server!
- 请求编码:UTF-8
- 响应编码:UTF-8
- 响应超时:30000(30秒)
- 使用EOL字节:True
- EOL字节:\n
- 使用二进制模式:False
- 响应字段:(可选,留空)
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  服务器地址和端口号: - 确保服务器地址和端口号的正确性,避免因地址或端口错误导致连接失败。
 
-  超时时间: - 设置合理的超时时间,避免因网络延迟或服务器性能问题导致测试失败。
 
-  重试次数: - 根据测试需求设置合理的重试次数,确保在网络不稳定时能够重新尝试连接。
 
-  关闭连接: - 如果需要保持连接,选择不关闭连接(False)。如果每次请求后都需要关闭连接,选择关闭连接(True)。
 
- 如果需要保持连接,选择不关闭连接(
-  请求和响应编码: - 确保请求和响应的编码方式一致,避免因编码问题导致消息解析错误。
 
-  使用EOL字节: - 如果发送的是文本消息,建议使用EOL字节(例如\n),以便服务器正确解析消息。
 
- 如果发送的是文本消息,建议使用EOL字节(例如
-  二进制模式: - 如果发送和接收的是二进制数据,选择使用二进制模式(True)。
 
- 如果发送和接收的是二进制数据,选择使用二进制模式(
-  调试: - 使用“查看结果树”监听器查看请求和响应的详细信息,确保TCP取样器的配置正确无误。
 
-  错误处理: - 使用断言和监听器来捕获和分析TCP请求的结果,及时发现和解决问题。
 

16--用户定义的变量
用途
- 定义变量:为测试计划定义全局变量,这些变量可以在任何地方引用。
- 简化配置:避免在多个地方重复配置相同的值。
- 提高灵活性:通过修改变量值,可以轻松地调整测试计划的行为。
配置步骤
-  添加用户定义的变量 - 右键点击测试计划(Test Plan)。
- 选择“添加” -> “配置元件” -> “用户定义的变量”(User Defined Variables)。
 
-  配置用户定义的变量 - 名称:变量的名称。
- 值:变量的值。
- 描述:变量的描述(可选)。
 
示例配置
假设我们需要测试一个Web应用,使用用户定义的变量来定义服务器地址、端口号和用户数量。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
 
-  添加用户定义的变量 - 右键点击刚刚创建的测试计划 -> 添加 -> 配置元件 -> 用户定义的变量。
- 配置用户定义的变量: 
    -  名称: serverAddress
-  值: example.com
-  描述:服务器地址 
-  名称: serverPort
-  值: 80
-  描述:服务器端口 
-  名称: userCount
-  值: 100
-  描述:用户数量 
 
-  
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
- 配置线程组: 
    - 线程数(用户数):${userCount}
- 循环次数:1
 
- 线程数(用户数):
 
-  添加HTTP请求: - 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求: 
    - 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:${serverAddress}
- 端口号:${serverPort}
- 协议:HTTP或HTTPS(例如HTTP)。
- 方法:请求的方法(例如GET)。
- 路径:请求的路径(例如/api/users)。
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  变量命名: - 给变量一个有意义的名称,以便在其他元件中引用。
 
-  变量值: - 确保变量值的正确性,避免因值错误导致测试失败。
 
-  描述: - 添加描述可以帮助其他团队成员理解变量的作用和用途。
 
-  动态值: - 使用JMeter的函数和变量来动态生成变量值,例如使用${__P(variableName,default_value)}来从属性文件中读取变量值。
 
- 使用JMeter的函数和变量来动态生成变量值,例如使用
-  调试: - 使用“查看结果树”监听器查看请求和响应的详细信息,确保变量的配置正确无误。
 
-  错误处理: - 使用断言和监听器来捕获和分析请求的结果,及时发现和解决问题。
 

17--登录配置原件/素
用途
- 管理登录信息:为测试计划中的多个请求提供统一的登录信息。
- 简化配置:避免在每个请求中重复配置用户名和密码。
- 支持多种认证方式:支持Basic、Digest等认证方式。
配置步骤
-  添加登录配置元件 - 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “登录配置元件”(Login Config Element)。
 
-  配置登录配置元件 - 名称:给登录配置元件一个有意义的名称。
- 用户名变量:存储用户名的变量名称。
- 密码变量:存储密码的变量名称。
- 用户名:登录的用户名。
- 密码:登录的密码。
- 域名:认证域(可选,主要用于NTLM认证)。
- 认证方案:选择认证方式(例如Basic、Digest、NTLM等)。
 
示例配置
假设我们需要测试一个需要Basic认证的Web应用,并为多个请求提供统一的登录信息。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
 
-  添加登录配置元件: - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> 登录配置元件。
- 配置登录配置元件: 
    - 名称:登录配置元件
- 用户名变量:usernameVar
- 密码变量:passwordVar
- 用户名:user
- 密码:password
- 域名:(可选,留空)
- 认证方案:Basic
 
 
-  添加HTTP请求: - 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求: 
    - 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如example.com)。
- 端口号:目标服务器的端口(例如80)。
- 协议:HTTP或HTTPS(例如HTTP)。
- 方法:请求的方法(例如GET)。
- 路径:请求的路径(例如/api/users)。
- 使用认证:选择“是”。
- 用户名:${usernameVar}
- 密码:${passwordVar}
- 域名:(可选,留空)
- 认证方案:Basic
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  变量命名: - 给变量一个有意义的名称,以便在其他元件中引用。
 
-  认证方案: - 根据目标服务器的认证方式选择合适的认证方案。常见的认证方式包括Basic、Digest和NTLM。
 
-  域名: - 如果需要使用NTLM认证,确保填写正确的域名。
 
-  调试: - 使用“查看结果树”监听器查看请求和响应的详细信息,确保登录配置元件的配置正确无误。
 
-  错误处理: - 使用断言和监听器来捕获和分析认证失败的情况,及时发现和解决问题。
 
-  安全性: - 确保敏感信息(如用户名和密码)的安全性,避免在公共环境中泄露。
 

18--简单登录原件/素
用途
- 管理登录信息:为测试计划中的多个请求提供统一的登录信息。
- 简化配置:避免在每个请求中重复配置用户名和密码。
- 支持多种认证方式:虽然主要适用于简单的用户名和密码认证,但也可以结合其他认证方式使用。
配置步骤
-  添加简单登录元件 - 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “简单配置元件”(Simple Config Element)。
 
-  配置简单登录元件 - 名称:给简单登录元件一个有意义的名称。
- 参数名称:定义参数的名称。
- 参数值:定义参数的值。
- 参数类型:定义参数的类型(例如字符串、数字等)。
 
示例配置
假设我们需要测试一个需要基本认证的Web应用,并为多个请求提供统一的登录信息。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
 
-  添加简单登录元件: - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> 简单配置元件。
- 配置简单登录元件: 
    - 名称:简单登录元件
- 参数名称:username
- 参数值:user
- 参数类型:字符串
- 参数名称:password
- 参数值:password
- 参数类型:字符串
 
 
-  添加HTTP请求: - 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求: 
    - 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如example.com)。
- 端口号:目标服务器的端口(例如80)。
- 协议:HTTP或HTTPS(例如HTTP)。
- 方法:请求的方法(例如GET)。
- 路径:请求的路径(例如/api/users)。
- 使用认证:选择“是”。
- 用户名:${username}
- 密码:${password}
- 域名:(可选,留空)
- 认证方案:Basic
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  变量命名: - 给变量一个有意义的名称,以便在其他元件中引用。
 
-  参数类型: - 确保参数类型的正确性,避免因类型错误导致的问题。
 
-  调试: - 使用“查看结果树”监听器查看请求和响应的详细信息,确保简单登录元件的配置正确无误。
 
-  错误处理: - 使用断言和监听器来捕获和分析认证失败的情况,及时发现和解决问题。
 
-  安全性: - 确保敏感信息(如用户名和密码)的安全性,避免在公共环境中泄露。
 
-  多参数配置: - 如果需要配置多个参数,可以在简单登录元件中添加多个参数条目。
 

19--计数器
用途
- 生成递增的数值:为测试计划生成递增的数值。
- 唯一标识符:生成唯一的标识符,确保每个请求都有一个唯一的值。
- 数据多样性:为测试提供多样化的输入数据,提高测试的覆盖率。
配置步骤
-  添加计数器 - 右键点击线程组(Thread Group)。
- 选择“添加” -> “配置元件” -> “计数器”(Counter)。
 
-  配置计数器 - 名称:给计数器一个有意义的名称。
- 变量名称:生成的计数值将存储在这个变量中,可以在其他元件中引用这个变量。
- 起始值:计数器的起始值。
- 结束值:计数器的结束值(可选,如果不设置则无限递增)。
- 增量:每次递增的步长。
- 格式:生成计数值的格式(例如%05d表示五位数,不足部分补零)。
- 复位策略:选择计数器的复位策略(例如每次迭代、每个用户、每个线程等)。
 
示例配置
假设我们需要测试一个Web应用,生成唯一的订单号。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
 
-  添加计数器: - 右键点击刚刚创建的线程组 -> 添加 -> 配置元件 -> 计数器。
- 配置计数器: 
    - 名称:订单号计数器
- 变量名称:orderNumber
- 起始值:1
- 结束值:1000000(可选,如果不设置则无限递增)
- 增量:1
- 格式:%06d(生成六位数,不足部分补零)
- 复位策略:每次迭代
 
 
-  添加HTTP请求: - 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求: 
    - 名称:请求名称(例如“提交订单”)。
- 服务器名称或IP:目标服务器的地址(例如example.com)。
- 端口号:目标服务器的端口(例如80)。
- 协议:HTTP或HTTPS(例如HTTP)。
- 方法:请求的方法(例如POST)。
- 路径:请求的路径(例如/submitOrder)。
- 参数: 
      - 名称:orderId
- 值:${orderNumber}
 
- 名称:
 
 
-  添加监听器: - 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 运行测试,查看结果。
 
优化建议
-  变量命名: - 给变量一个有意义的名称,以便在其他元件中引用。
 
-  起始值和结束值: - 根据测试需求设置合理的起始值和结束值,确保生成的计数值符合预期范围。
 
-  增量: - 根据需要设置合适的增量,确保计数值按预期递增。
 
-  格式: - 根据需要选择合适的格式,例如%06d表示六位数,不足部分补零。
 
- 根据需要选择合适的格式,例如
-  复位策略: - 选择合适的复位策略,确保计数器在适当的时间点复位。常用的复位策略包括每次迭代、每个用户、每个线程等。
 
-  调试: - 使用“查看结果树”监听器查看请求和响应的详细信息,确保计数器的配置正确无误。
 
-  错误处理: - 使用断言和监听器来捕获和分析请求的结果,及时发现和解决问题。
 

20--LDAP默认请求
功能特点
- LDAP 操作:支持多种 LDAP 操作,如搜索、添加、删除、修改等。
- 动态参数传递:可以动态设置请求参数,满足复杂的测试需求。
- 身份验证:支持不同的身份验证方式,如简单绑定、SSL 绑定等。
配置步骤
-  添加 LDAP 默认请求 - 右键点击需要添加取样器的线程组。
- 选择“添加” -> “取样器” -> “LDAP 默认请求”(LDAP Default Request)。
 
-  配置 LDAP 默认请求 - 名称:给 LDAP 默认请求一个有意义的名称。
- 服务器:输入 LDAP 服务器的地址。
- 端口:输入 LDAP 服务器的端口。
- 身份验证:选择身份验证方式(例如,简单绑定)。
- 用户名:输入用于身份验证的用户名。
- 密码:输入用于身份验证的密码。
- 基 DN:输入搜索的基 DN(Distinguished Name)。
- 搜索过滤器:输入用于搜索的过滤器。
- 搜索范围:选择搜索范围(例如,Base、One、Sub)。
- 属性:输入要返回的属性列表。
- 操作类型:选择要执行的操作类型(例如,搜索、添加、删除、修改)。
- 请求数据:根据操作类型填写相应的请求数据。
 
参数说明
- 名称:给 LDAP 默认请求一个有意义的名称。
- 服务器:输入 LDAP 服务器的地址。
- 端口:输入 LDAP 服务器的端口。
- 身份验证:选择身份验证方式(例如,简单绑定)。
- 用户名:输入用于身份验证的用户名。
- 密码:输入用于身份验证的密码。
- 基 DN:输入搜索的基 DN(Distinguished Name)。
- 搜索过滤器:输入用于搜索的过滤器。
- 搜索范围:选择搜索范围(例如,Base、One、Sub)。
- 属性:输入要返回的属性列表。
- 操作类型:选择要执行的操作类型(例如,搜索、添加、删除、修改)。
- 请求数据:根据操作类型填写相应的请求数据。
示例配置
假设我们需要测试一个 LDAP 服务器,并执行一个简单的搜索操作,查找特定用户的详细信息。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“LDAP 性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
- 配置线程组: 
    - 线程数:1(模拟1个用户)
- 循环次数:1(每个用户发送1次请求)
- 启动延迟:0(立即启动)
 
 
-  添加 LDAP 默认请求: - 右键点击线程组 -> 添加 -> 取样器 -> LDAP 默认请求。
- 配置 LDAP 默认请求: 
    - 名称:搜索用户
- 服务器:ldap.example.com
- 端口:389
- 身份验证:简单绑定
- 用户名:cn=admin,dc=example,dc=com
- 密码:adminpassword
- 基 DN:dc=example,dc=com
- 搜索过滤器:(uid=johndoe)
- 搜索范围:Sub
- 属性:cn, uid, mail
- 操作类型:搜索
 
 
-  运行测试: - 点击工具栏上的“启动”按钮,运行测试。
 
优化建议
-  身份验证: - 确保身份验证信息正确无误,能够成功连接到 LDAP 服务器。
 
-  基 DN 和搜索过滤器: - 确保基 DN 和搜索过滤器正确无误,能够准确匹配所需的数据。可以通过 LDAP 浏览器工具进行验证。
 
-  搜索范围: - 根据实际需求选择合适的搜索范围。常见的搜索范围有: 
    - Base:仅搜索基 DN 对应的对象。
- One:搜索基 DN 下一层的所有对象。
- Sub:搜索基 DN 及其所有子对象。
 
 
- 根据实际需求选择合适的搜索范围。常见的搜索范围有: 
    
-  属性: - 输入要返回的属性列表,确保返回的数据符合预期。
 
-  操作类型: - 根据实际需求选择合适的操作类型。常见的操作类型有: 
    - 搜索:搜索 LDAP 目录。
- 添加:添加新的条目。
- 删除:删除现有的条目。
- 修改:修改现有条目的属性。
 
 
- 根据实际需求选择合适的操作类型。常见的操作类型有: 
    
-  错误处理: - 在测试计划中添加断言和监听器,确保请求的成功率和返回数据的正确性。
 
示例配置详细说明
假设我们有一个简单的测试计划,包含一个线程组和一个 LDAP 默认请求,并希望执行一个简单的搜索操作,查找特定用户的详细信息。
-  创建测试计划: - 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“LDAP 性能测试”)。
 
-  添加线程组: - 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
- 配置线程组: 
    - 线程数:1(模拟1个用户)
- 循环次数:1(每个用户发送1次请求)
- 启动延迟:0(立即启动)
 
 
-  添加 LDAP 默认请求: - 右键点击线程组 -> 添加 -> 取样器 -> LDAP 默认请求。
- 配置 LDAP 默认请求: 
    - 名称:搜索用户
- 服务器:ldap.example.com
- 端口:389
- 身份验证:简单绑定
- 用户名:cn=admin,dc=example,dc=com
- 密码:adminpassword
- 基 DN:dc=example,dc=com
- 搜索过滤器:(uid=johndoe)
- 搜索范围:Sub
- 属性:cn, uid, mail
- 操作类型:搜索
 
 
-  运行测试: - 点击工具栏上的“启动”按钮,运行测试。
 




















![三六零[601360]行情数据接口](https://i-blog.csdnimg.cn/direct/4ec342674adf4982b463a8427ab9008e.png)