Jmeter中的测试片段和非测试原件

1)测试片段

1--测试片段

功能特点

  • 重用性:将常用的测试元素组合成一个测试片段,便于在多个线程组中重用。
  • 模块化:提高测试计划的模块化程度,使测试计划更易于管理和维护。
  • 灵活性:可以通过模块控制器灵活地引用和控制测试片段的执行。

配置步骤

  1. 创建测试片段

    • 右键点击测试计划 -> 添加 -> 测试片段 -> 输入测试片段名称(例如"公共登录流程")。
  2. 添加测试元素

    • 在测试片段中添加所需的测试元素,如取样器、前置处理器、后置处理器、断言等。
  3. 引用测试片段

    • 在需要使用测试片段的线程组中,右键点击线程组 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:给模块控制器一个有意义的名称。
      • 测试片段:选择要引用的测试片段。

参数说明

  • 测试片段名称:给测试片段一个有意义的名称。
  • 模块控制器名称:给模块控制器一个有意义的名称。
  • 测试片段选择:选择要引用的测试片段。

示例配置

假设我们需要测试一个Web应用,并且有一个常见的登录流程需要在多个线程组中重用。

  1. 创建测试计划

    • 右键点击"测试计划" -> 新建 -> 输入测试计划名称(例如"Web应用性能测试")。
  2. 创建测试片段

    • 右键点击测试计划 -> 添加 -> 测试片段 -> 输入测试片段名称(例如"公共登录流程")。
  3. 添加登录请求

    • 在测试片段中右键点击 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP :目标服务器的地址(例如example.com)。
      • 端口号 :目标服务器的端口(例如80)。
      • 协议 :HTTP或HTTPS(例如HTTP)。
      • 方法:POST
      • 路径 :请求的路径(例如/login)。
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加断言

    • 在登录请求下右键点击 -> 添加 -> 断言 -> 响应断言。
    • 配置响应断言:
      • 名称:验证登录成功
      • 模式匹配规则:包含
      • 模式:登录成功
  5. 创建线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟1")。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  6. 引用测试片段

    • 在线程组中右键点击 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:引用公共登录流程
      • 测试片段:选择"公共登录流程"
  7. 创建另一个线程组并引用测试片段

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟2")。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
    • 在线程组中右键点击 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:引用公共登录流程
      • 测试片段:选择"公共登录流程"
  8. 运行测试

    • 点击工具栏上的"启动"按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保登录请求成功执行。

优化建议

  1. 模块化设计

    • 将常用的功能(如登录、注销、查询等)封装成测试片段,提高测试计划的模块化程度。
  2. 复用性

    • 在多个线程组中引用同一个测试片段,减少重复配置,提高测试效率。
  3. 调试方便

    • 在测试片段中添加调试信息,帮助定位问题。可以使用日志记录或查看结果树监听器。
  4. 性能考虑

    • 如果测试中包含大量的请求,确保测试片段中的配置高效且简洁,避免影响测试性能。

示例配置详细说明

假设我们有一个简单的测试计划,包含两个线程组,并希望在每个线程组中重用一个公共的登录流程。

  1. 创建测试计划

    • 右键点击"测试计划" -> 新建 -> 输入测试计划名称(例如"Web应用性能测试")。
  2. 创建测试片段

    • 右键点击测试计划 -> 添加 -> 测试片段 -> 输入测试片段名称(例如"公共登录流程")。
  3. 添加登录请求

    • 在测试片段中右键点击 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IPexample.com
      • 端口号:80
      • 协议:HTTP
      • 方法:POST
      • 路径:/login
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加断言

    • 在登录请求下右键点击 -> 添加 -> 断言 -> 响应断言。
    • 配置响应断言:
      • 名称:验证登录成功
      • 模式匹配规则:包含
      • 模式:登录成功
  5. 创建第一个线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟1")。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  6. 引用测试片段

    • 在线程组中右键点击 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:引用公共登录流程
      • 测试片段:选择"公共登录流程"
  7. 创建第二个线程组并引用测试片段

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟2")。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
    • 在线程组中右键点击 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:引用公共登录流程
      • 测试片段:选择"公共登录流程"
  8. 运行测试

    • 点击工具栏上的"启动"按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保登录请求成功执行。

2)非测试原件

1--HTTP(S)测试脚本记录器

功能特点

  • 录制浏览器操作:录制用户的浏览器操作,生成相应的 JMeter 测试脚本。
  • 支持 HTTPS:支持录制 HTTPS 请求,确保安全通信。
  • 灵活配置:可以设置多个录制选项,满足不同的测试需求。
  • 过滤器:使用过滤器排除不需要录制的请求。

配置步骤

  1. 启动 HTTP(S) 测试脚本记录器

    • 右键点击测试计划 -> 添加 -> 非测试元件 -> HTTP(S) 测试脚本记录器。
  2. 配置 HTTP(S) 测试脚本记录器

    • 名称:给 HTTP(S) 测试脚本记录器一个有意义的名称。
    • 端口号:设置代理服务器的端口号(默认为 8888)。
    • 上下文:设置录制的上下文,可以选择录制整个测试计划或特定的线程组。
    • 过滤器:设置过滤器,排除不需要录制的请求。
    • 证书:生成和安装证书,用于录制 HTTPS 请求。
  3. 配置浏览器代理

    • 设置浏览器的代理服务器,指向 JMeter 的 HTTP(S) 测试脚本记录器。
    • 例如,对于 Chrome 浏览器,可以在网络设置中设置代理服务器为 localhost:8888
  4. 开始录制

    • 在 HTTP(S) 测试脚本记录器中点击"开始"按钮,开始录制浏览器操作。
    • 执行需要录制的操作,例如登录网站、提交表单等。
  5. 停止录制

    • 完成操作后,在 HTTP(S) 测试脚本记录器中点击"停止"按钮,停止录制。
  6. 查看和编辑生成的测试脚本

    • 录制完成后,JMeter 会自动生成相应的测试脚本。
    • 可以在测试计划中查看和编辑生成的取样器、前置处理器、后置处理器、断言等。

参数说明

  • 名称:给 HTTP(S) 测试脚本记录器一个有意义的名称。
  • 端口号:设置代理服务器的端口号(默认为 8888)。
  • 上下文:设置录制的上下文,可以选择录制整个测试计划或特定的线程组。
  • 过滤器:设置过滤器,排除不需要录制的请求。
  • 证书:生成和安装证书,用于录制 HTTPS 请求。

示例配置

假设我们需要录制一个用户的登录流程,并生成相应的 JMeter 测试脚本。

  1. 创建测试计划

    • 右键点击"测试计划" -> 新建 -> 输入测试计划名称(例如"Web应用性能测试")。
  2. 启动 HTTP(S) 测试脚本记录器

    • 右键点击测试计划 -> 添加 -> 非测试元件 -> HTTP(S) 测试脚本记录器。
  3. 配置 HTTP(S) 测试脚本记录器

    • 名称:HTTP(S) 测试脚本记录器
    • 端口号:8888
    • 上下文:选择录制整个测试计划
    • 过滤器
      • 包含模式 :输入需要录制的 URL 模式(例如*.example.com/*
      • 排除模式 :输入不需要录制的 URL 模式(例如*.google.com/*
    • 证书
      • 点击"生成"按钮,生成证书文件。
      • 导出证书文件并安装到浏览器中。
  4. 配置浏览器代理

    • 对于 Chrome 浏览器,打开设置 -> 高级 -> 系统 -> 打开您的计算机的代理设置。
    • 设置手动代理配置,HTTP 代理和 HTTPS 代理均设置为 localhost:8888
  5. 开始录制

    • 在 HTTP(S) 测试脚本记录器中点击"开始"按钮,开始录制浏览器操作。
    • 打开浏览器,访问目标网站(例如https://example.com)。
    • 执行登录操作,填写用户名和密码,点击登录按钮。
  6. 停止录制

    • 完成操作后,在 HTTP(S) 测试脚本记录器中点击"停止"按钮,停止录制。
  7. 查看和编辑生成的测试脚本

    • 录制完成后,JMeter 会自动生成相应的测试脚本。
    • 在测试计划中查看生成的取样器、前置处理器、后置处理器、断言等。
    • 编辑生成的脚本,添加必要的断言和监听器,确保测试的准确性和可靠性。

优化建议

  1. 过滤器设置

    • 使用过滤器排除不必要的请求,例如广告、跟踪脚本等,避免生成冗余的测试脚本。
  2. 证书管理

    • 确保证书正确安装到浏览器中,避免 HTTPS 请求录制失败。
    • 如果需要录制多个浏览器的操作,确保每个浏览器都安装了相同的证书。
  3. 代理设置

    • 确保浏览器的代理设置正确,指向 JMeter 的 HTTP(S) 测试脚本记录器。
    • 如果使用的是企业网络,可能需要额外配置代理服务器。
  4. 脚本优化

    • 录制完成后,仔细检查生成的测试脚本,删除不必要的请求。
    • 添加必要的断言和监听器,确保测试的准确性和可靠性。
    • 使用变量和参数化,提高测试脚本的灵活性和可重用性。

示例配置详细说明

假设我们有一个简单的测试计划,需要录制一个用户的登录流程,并生成相应的 JMeter 测试脚本。

  1. 创建测试计划

    • 右键点击"测试计划" -> 新建 -> 输入测试计划名称(例如"Web应用性能测试")。
  2. 启动 HTTP(S) 测试脚本记录器

    • 右键点击测试计划 -> 添加 -> 非测试元件 -> HTTP(S) 测试脚本记录器。
  3. 配置 HTTP(S) 测试脚本记录器

    • 名称:HTTP(S) 测试脚本记录器
    • 端口号:8888
    • 上下文:选择录制整个测试计划
    • 过滤器
      • 包含模式 :输入需要录制的 URL 模式(例如*.example.com/*
      • 排除模式 :输入不需要录制的 URL 模式(例如*.google.com/*
    • 证书
      • 点击"生成"按钮,生成证书文件。
      • 导出证书文件并安装到浏览器中。
  4. 配置浏览器代理

    • 对于 Chrome 浏览器,打开设置 -> 高级 -> 系统 -> 打开您的计算机的代理设置。
    • 设置手动代理配置,HTTP 代理和 HTTPS 代理均设置为 localhost:8888
  5. 开始录制

    • 在 HTTP(S) 测试脚本记录器中点击"开始"按钮,开始录制浏览器操作。
    • 打开浏览器,访问目标网站(例如https://example.com)。
    • 执行登录操作,填写用户名和密码,点击登录按钮。
  6. 停止录制

    • 完成操作后,在 HTTP(S) 测试脚本记录器中点击"停止"按钮,停止录制。
  7. 查看和编辑生成的测试脚本

    • 录制完成后,JMeter 会自动生成相应的测试脚本。
    • 在测试计划中查看生成的取样器、前置处理器、后置处理器、断言等。
    • 编辑生成的脚本,添加必要的断言和监听器,确保测试的准确性和可靠性。

2--HTTP镜像服务器

功能特点

  • 请求回显:HTTP 镜像服务器会返回接收到的请求内容作为响应,用于验证请求的正确性。
  • 性能测试:可以用来测试 HTTP 请求的响应时间和性能。
  • 简单配置:配置简单,易于使用。

配置步骤

  1. 启动 HTTP 镜像服务器

    • 打开命令行终端。

    • 导航到 JMeter 的 bin 目录。

    • 运行以下命令启动 HTTP 镜像服务器:

      jmeter -Dhttp.port=8080 -Dhttp.mirror_server=true -n -t <path_to_jmx_file>
      

      其中 <path_to_jmx_file> 是你的测试计划文件的路径。如果你只是想启动镜像服务器而不需要运行具体的测试计划,可以省略 -t 参数。

  2. 配置 JMeter 测试计划

    • 创建一个新的测试计划或打开现有的测试计划。
    • 添加一个线程组。
    • 在线程组中添加一个 HTTP 请求取样器。
    • 配置 HTTP 请求取样器:
      • 名称:HTTP 请求
      • 服务器名称或IP:localhost
      • 端口号:8080
      • 协议:HTTP
      • 方法:GET 或 POST
      • 路径:/ (或其他路径)
      • 参数:根据需要添加请求参数
  3. 运行测试

    • 点击工具栏上的"启动"按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保请求和响应内容一致。

参数说明

  • http.port:设置 HTTP 镜像服务器监听的端口号(默认为 8080)。
  • http.mirror_server:启用 HTTP 镜像服务器功能。
  • -n:以非 GUI 模式运行 JMeter。
  • -t:指定要运行的测试计划文件路径。

示例配置

假设我们需要测试一个简单的 HTTP GET 请求,并验证请求和响应内容的一致性。

  1. 启动 HTTP 镜像服务器

    • 打开命令行终端。

    • 导航到 JMeter 的 bin 目录。

    • 运行以下命令启动 HTTP 镜像服务器:

      jmeter -Dhttp.port=8080 -Dhttp.mirror_server=true -n
      
  2. 创建测试计划

    • 打开 JMeter。
    • 右键点击"测试计划" -> 新建 -> 输入测试计划名称(例如"HTTP 镜像服务器测试")。
  3. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟")。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  4. 添加 HTTP 请求取样器

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP 请求。
    • 配置 HTTP 请求取样器:
      • 名称:HTTP 请求
      • 服务器名称或IP:localhost
      • 端口号:8080
      • 协议:HTTP
      • 方法:GET
      • 路径:/
      • 参数 :根据需要添加请求参数(例如,添加一个参数 name,值为 testuser
  5. 添加监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 这将帮助你查看请求和响应的内容。
  6. 运行测试

    • 点击工具栏上的"启动"按钮,运行测试。
    • 查看结果树监听器,确保请求和响应内容一致。

优化建议

  1. 端口号选择

    • 确保选择的端口号没有被其他服务占用。默认端口号为 8080,如果已被占用,可以更改端口号。
  2. 请求参数

    • 根据需要添加请求参数,确保请求内容符合预期。
  3. 性能测试

    • 可以增加线程数和循环次数,模拟更多的并发用户,测试服务器的性能。
  4. 日志记录

    • 在测试计划中添加日志记录监听器,帮助调试和记录测试过程中的信息。

示例配置详细说明

假设我们有一个简单的测试计划,需要测试一个 HTTP GET 请求,并验证请求和响应内容的一致性。

  1. 启动 HTTP 镜像服务器

    • 打开命令行终端。

    • 导航到 JMeter 的 bin 目录。

    • 运行以下命令启动 HTTP 镜像服务器:

      复制代码
       

      Sh

      深色版本

      jmeter -Dhttp.port=8080 -Dhttp.mirror_server=true -n
      
  2. 创建测试计划

    • 打开 JMeter。
    • 右键点击"测试计划" -> 新建 -> 输入测试计划名称(例如"HTTP 镜像服务器测试")。
  3. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟")。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  4. 添加 HTTP 请求取样器

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP 请求。
    • 配置 HTTP 请求取样器:
      • 名称:HTTP 请求
      • 服务器名称或IP:localhost
      • 端口号:8080
      • 协议:HTTP
      • 方法:GET
      • 路径:/
      • 参数
        • 名称:name
        • :testuser
  5. 添加监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 这将帮助你查看请求和响应的内容。
  6. 运行测试

    • 点击工具栏上的"启动"按钮,运行测试。
    • 查看结果树监听器,确保请求和响应内容一致。

3--属性显示

功能特点

  • 请求和响应查看:查看每个请求的请求头、请求体、响应头和响应体。
  • 断言结果:查看与请求关联的断言结果。
  • 树形结构:以树形结构展示请求和响应数据,方便导航和查看。
  • 支持多种格式:支持查看 HTML、XML、JSON 等多种格式的响应数据。

配置步骤

  1. 添加属性显示监听器

    • 右键点击需要添加监听器的线程组或测试计划。
    • 选择"添加" -> "监听器" -> "查看结果树"。
  2. 配置属性显示监听器

    • 名称:给属性显示监听器一个有意义的名称。
    • 保存响应数据:选择是否保存响应数据。
    • 显示模式 :选择显示模式,例如:
      • 树形视图:以树形结构显示请求和响应数据。
      • 表格视图:以表格形式显示请求和响应数据。
      • 仅显示失败:只显示失败的请求。
    • 高级设置:可以设置更多高级选项,例如响应数据的最大长度。

参数说明

  • 名称:给属性显示监听器一个有意义的名称。
  • 保存响应数据:选择是否保存响应数据。如果选择保存,响应数据将被记录到监听器中,方便后续查看。
  • 显示模式
    • 树形视图:以树形结构显示请求和响应数据。
    • 表格视图:以表格形式显示请求和响应数据。
    • 仅显示失败:只显示失败的请求。
  • 高级设置
    • 响应数据的最大长度:设置响应数据的最大长度,超出部分将被截断。
    • 显示响应数据:选择是否显示响应数据。
    • 显示响应头:选择是否显示响应头。
    • 显示请求数据:选择是否显示请求数据。
    • 显示请求头:选择是否显示请求头。

示例配置

假设我们需要测试一个Web应用,并查看登录请求的请求和响应数据。

  1. 创建测试计划

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

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟")。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP :目标服务器的地址(例如example.com)。
      • 端口号 :目标服务器的端口(例如80)。
      • 协议 :HTTP或HTTPS(例如HTTP)。
      • 方法:POST
      • 路径 :请求的路径(例如/login)。
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加属性显示监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 配置属性显示监听器:
      • 名称:查看请求和响应
      • 保存响应数据:勾选
      • 显示模式:选择"树形视图"
      • 高级设置
        • 响应数据的最大长度:10240
        • 显示响应数据:勾选
        • 显示响应头:勾选
        • 显示请求数据:勾选
        • 显示请求头:勾选
  5. 运行测试

    • 点击工具栏上的"启动"按钮,运行测试。
    • 在属性显示监听器中查看请求和响应数据,确保请求和响应内容正确。

优化建议

  1. 响应数据保存

    • 如果测试中包含大量的请求,可以选择不保存响应数据,以减少内存消耗。可以在测试结束后再启用保存响应数据,以便调试。
  2. 显示模式

    • 根据需要选择合适的显示模式。例如,如果只想查看失败的请求,可以选择"仅显示失败"模式。
  3. 响应数据长度

    • 设置合理的响应数据最大长度,避免因数据过大导致性能问题。
  4. 请求和响应头

    • 根据需要选择是否显示请求和响应头,这有助于调试请求和响应的详细信息。

示例配置详细说明

假设我们有一个简单的测试计划,需要测试一个登录请求,并查看请求和响应数据。

  1. 创建测试计划

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

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如"用户模拟")。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IPexample.com
      • 端口号:80
      • 协议:HTTP
      • 方法:POST
      • 路径:/login
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加属性显示监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 配置属性显示监听器:
      • 名称:查看请求和响应
      • 保存响应数据:勾选
      • 显示模式:选择"树形视图"
      • 高级设置
        • 响应数据的最大长度:10240
        • 显示响应数据:勾选
        • 显示响应头:勾选
        • 显示请求数据:勾选
        • 显示请求头:勾选
  5. 运行测试

    • 点击工具栏上的"启动"按钮,运行测试。
    • 在属性显示监听器中查看请求和响应数据,确保请求和响应内容正确。

相关推荐
koko爱英语2 小时前
Jmeter测试工具的安装和使用,mac版本,jmeter版本5.2.1
测试工具·jmeter·macos
惜.己2 小时前
Jmeter中的断言
测试工具·jmeter·1024程序员节
YIN_尹12 小时前
解锁PPTist的全新体验:Windows系统环境下本地部署与远程访问
1024程序员节
无敌糖果14 小时前
Python+Selenium无头浏览器实现网页截图
chrome·爬虫·selenium·测试工具
测试老哥15 小时前
基于Pytest接口自动化的requests模块项目实战以及接口关联方法
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest
API快乐传递者16 小时前
Selenium和Pyppeteer有什么区别?
selenium·测试工具
csdn_金手指16 小时前
Jmeter的组件执行顺序
jmeter
m0_3713561516 小时前
【测试工具JMeter篇】JMeter性能测试入门级教程(二)出炉,测试君请各位收藏了!!!
测试工具·jmeter
土小帽软件测试16 小时前
jmeter基础06_(练习)常见的http请求
测试工具·jmeter·软件测试学习