当前位置: 首页 > news >正文

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

 1)测试片段

c6a0271dbdc44877bc0f59fcc1b967c0.png

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请求:
      • 名称:登录请求
      • 服务器名称或IP:example.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. 运行测试

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

 

 

 

a86a3c6206c74a85810d3a2e92448e21.png


2)非测试原件

b313b4989f554a9b903a1c647bdf07f8.png

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

68a686cedae641dba4ea1a9114ed6ea5.png


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. 运行测试

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

 

 

 

db8db4cf556e45af81b781f7f667a081.png


 

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请求:
      • 名称:登录请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:POST
      • 路径:/login
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加属性显示监听器

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

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

 

 

 

079d3b66ccc241ffa7f1ea19364c6404.png


 

 

相关文章:

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

1&#xff09;测试片段 1--测试片段 功能特点 重用性&#xff1a;将常用的测试元素组合成一个测试片段&#xff0c;便于在多个线程组中重用。模块化&#xff1a;提高测试计划的模块化程度&#xff0c;使测试计划更易于管理和维护。灵活性&#xff1a;可以通过模块控制器灵活地…...

NeurIPS 2024 有效投稿达 15,671 篇,数据集版块内容丰富

NeurIPS&#xff0c;全称 Neural Information Processing Systems Conference&#xff0c;是神经信息处理系统的年度学术会议。该会议始于 1987 年&#xff0c;当时名为 NIPS。随着人工智能领域的快速发展&#xff0c;其影响力逐渐扩大&#xff0c;被越来越多的研究者和企业关注…...

力扣101. 对称二叉树

给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 提示&#xff1a; 树中节点数目在范围 [1, 1000] 内-100 < Node.val < 100 进阶&#xff1a;你可以运用递归和迭代两种方法解决这个问题吗&#xff1f; 代码&#xff1a; /*** Definition for a binary …...

Ubuntu 环境下的 C/C++ 编译与调试配置

详细教学文档&#xff1a;Ubuntu 环境下的 C/C 编译与调试配置 本文档将手把手引导你完成在 Ubuntu 环境中设置 VS Code 的 tasks.json 和 launch.json&#xff0c;实现以下目标&#xff1a; 统一管理输出文件&#xff1a;将所有编译生成的可执行文件统一存放到项目的 build …...

『VUE』36. Vue的应用概念(分析流程)

目录 创建应用挂载应用可执行文件公共资源总结 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 创建应用 首先引入createApp ,然后借助createApp 创造一个app对象 main.js import { createApp } from "vue"; import A…...

《基于FPGA的便携式PWM方波信号发生器》论文分析(三)——数码管稳定显示与系统调试

一、论文概述 基于FPGA的便携式PWM方波信号发生器是一篇由任青颖、庹忠曜、黄洵桢、李智禺和张贤宇 等人发表的一篇期刊论文。该论文主要研究了一种新型的信号发生器&#xff0c;旨在解决传统PWM信号发生器在移动设备信号调控中存在的精准度低和便携性差的问题 。其基于现场可编…...

mac上的建议xftp 工具

mac上的建议xftp 工具 最近使用mac比较频繁了&#xff0c;但是第一次重度使用mac里面有很多的工具都是新的&#xff0c;有的window版本的工具无法使用。 xftp 的平替 Cyberduck 从它的官网上下载是免费的&#xff0c;但是如果使用 Apple store 要花费198呢。这不就剩下一大笔…...

Hive | Hive 表如何查看所有分区

文章目录 概述使用 SHOW PARTITIONS 命令查看特定分区的信息获取详细的分区信息总结 概述 Apache Hive 是一个构建在 Hadoop 之上的数据仓库工具&#xff0c;它提供了 SQL 类似的查询语言&#xff08;称为 HiveQL&#xff09;&#xff0c;使得用户能够更容易地进行大数据处理和…...

MySQL系列之数据类型(Numeric)

导览 前言一、数值类型综述二、数值类型详解1. NUMERIC1.1 UNSIGNED或SIGNED1.2 数据类型划分 2. Integer类型取值和存储要求3. Fixed-Point类型取值和存储要求4. Floating-Point类型取值和存储要求 结语精彩回放 前言 MySQL系列最近三篇均关注了和我们日常工作或学习密切相关…...

4.6 JMeter HTTP信息头管理器

欢迎大家订阅【软件测试】 专栏&#xff0c;开启你的软件测试学习之旅&#xff01; 文章目录 前言1 HTTP信息头管理器的位置2 常见的HTTP请求头3 添加 HTTP 信息头管理器4 应用场景 前言 在 JMeter 中&#xff0c;HTTP信息头管理器&#xff08;HTTP Header Manager&#xff09…...

fpga 综合与优化设计

目录 Quartus Prime优化设置 1. 分析与综合设置 2. 物理综合优化 3. 适配设置 描述方法对综合的影响 1. 操作符的应用差异 2. 条件语句和分支语句的应用差异 3. 描述方式对综合电路的影响 优化设计方法 1. FPGA设计的基本原则 2. 常用优化设计方法 优化主要包括 4 个…...

计算机毕业设计Hadoop+Spark音乐推荐系统 音乐预测系统 音乐可视化大屏 音乐爬虫 HDFS hive数据仓库 机器学习 深度学习 大数据毕业设计

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

C嘎嘎探索篇:栈与队列的交响:C++中的结构艺术

C嘎嘎探索篇&#xff1a;栈与队列的交响&#xff1a;C中的结构艺术 前言&#xff1a; 小编在之前刚完成了C中栈和队列&#xff08;stack和queue&#xff09;的讲解&#xff0c;忘记的小伙伴可以去我上一篇文章看一眼的&#xff0c;今天小编将会带领大家吹奏栈和队列的交响&am…...

摄像头原始数据读取——opencv(cv::VideoCapture)

摄像头原始数据读取——opencv(cv::VideoCapture) 测试代码test.cpp #include <iostream> #include <string>#include <opencv2/opencv.hpp>std::string pixeformatcodec2string(int codec) {char pixeformat_name[5] { (char)((codec >> 0) & …...

unreal engine5中多个摄像机切换

UE5系列文章目录 文章目录 UE5系列文章目录前言一、思路二、具体实现 前言 unreal engine5中使用蓝图实现多个相机切换 一、思路 在Unreal Engine 5中&#xff0c;如果你想要在控件蓝图&#xff08;Widget Blueprint&#xff09;中获取场景摄像机的信息&#xff0c;可以按照…...

ensp静态路由实验

一、实验目的 1、熟练掌握交换机的基本配置命令 2、熟练掌握静态路由的使用方法 3. 熟练掌握交换机端口模式 二、实验内容 需求&#xff1a; 根据要求利用现有实验设备组建小型局域网 实验设备&#xff1a; 交换机S37002台&#xff1b;PC机2台&#xff1b;路由器2台。 …...

【在Linux世界中追寻伟大的One Piece】多线程(二)

目录 1 -> 分离线程 2 -> Linux线程互斥 2.1 -> 进程线程间的互斥相关背景概念 2.2 -> 互斥量mutex 2.3 -> 互斥量的接口 2.4 -> 互斥量实现原理探究 3 -> 可重入VS线程安全 3.1 -> 概念 3.2 -> 常见的线程不安全的情况 3.3 -> 常见的…...

Git中HEAD、工作树和索引的区别

在Git版本控制系统中&#xff0c;HEAD、工作树&#xff08;Working Tree&#xff09;和索引&#xff08;Index&#xff09;是三个非常重要的概念&#xff0c;它们分别代表了不同的状态或区域&#xff0c;下面我将对这三个概念进行详细的解释。 HEAD 定义&#xff1a;HEAD是一…...

洛谷 P1156 垃圾陷阱(搜索 DFS)

题目传送门https://www.luogu.com.cn/problem/P1156 解题思路 本题数据过水&#xff0c;可以使用 dfs。 对于每个垃圾&#xff0c;吃掉或者堆着。 然后考虑剪枝&#xff1a; 如果已经等不到下一个垃圾的到来&#xff0c;直接 return&#xff1b; 如果当前状态已经搜过&am…...

nodepad配置c/c++ cmd快速打开创建项目文件

前提:下载MinGw,并且配置环境变量 点击阅读次篇文章配置MinGw 无论是哪个编译器&#xff0c;执行c文件都是经历以下步骤: 编译文件生成exe文件执行该exe文件 我们先手动完成这两部 手动编译文件使用指令 gcc {你的c文件} -o {生成文件名}生成exe文件 第二步运行exe直接点击该文…...

Excel与PPT:职场两大软件的应用比拼

在职场环境中&#xff0c;Excel和PPT无疑是两款最为常用的办公软件。它们各自承担着不同的职责&#xff0c;为职场人士提供了强大的数据处理和演示功能。然而&#xff0c;哪款软件应用得更多&#xff0c;却并非一概而论&#xff0c;而是取决于个人的工作性质、岗位需求以及个人…...

春秋云境 CVE 复现

CVE-2022-4230 靶标介绍 WP Statistics WordPress 插件13.2.9之前的版本不会转义参数&#xff0c;这可能允许经过身份验证的用户执行 SQL 注入攻击。默认情况下&#xff0c;具有管理选项功能 (admin) 的用户可以使用受影响的功能&#xff0c;但是该插件有一个设置允许低权限用…...

文件系统的作用

在一个完整的嵌入式系统中&#xff0c;进行一个简单的操作&#xff08;如读取传感器数据并保存到文件&#xff09;通常会涉及多个步骤。这些步骤包括硬件初始化、数据采集、处理、存储以及与外部系统交互。以下是一个通用的操作流程及文件系统在其中的作用。 嵌入式系统的操作流…...

mysql低版本中update_time不自动更新问题

在mysql低版本时&#xff0c;update_time只有插入时才会自动插入当前时间&#xff0c;更新不会改变。 MySQL 5.7 及以上版本对于TIMESTAMP类型字段有自动更新功能相关特性在 MySQL 5.7以上版本 中&#xff0c;如果将一个TIMESTAMP类型的列设置为ON UPDATE CURRENT_TIMESTAMP属…...

【二叉树】【2.1遍历二叉树】【刷题笔记】【灵神题单】

关注二叉树的三个问题&#xff1a; 什么情况适合自顶向下&#xff1f;什么时候适合用自底向上&#xff1f;一般来说&#xff0c;DFS的递归边界是空节点&#xff0c;什么情况下要额外把叶子节点作为递归边界&#xff1f;在什么情况下&#xff0c;DFS需要有返回值&#xff1f;什…...

【深度学习】【RKNN】【C++】模型转化、环境搭建以及模型部署的详细教程

【深度学习】【RKNN】【C】模型转化、环境搭建以及模型部署的详细教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】【RKNN】【C】模型转化、环境搭建以及模型部署的详细教程前言模型转换--pytorch转rknnpytorch转onnxonnx转rkn…...

刷题日常(移动零,盛最多水的容器,三数之和,无重复字符的最长子串)

移动零 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 俩种情况&#xff1a; 1.当nums[i]为0的时候 直接i 2.当nums[i]不为0的时候 此时 …...

【单元测试】【Android】JUnit 4 和 JUnit 5 的差异记录

背景 Jetbrain IDE 支持生成 Test 类&#xff0c;其中选择JUnit5 和 JUnit&#xff0c;但是感觉这不是标准的单元测试&#xff0c;因为接口命名吧。 差异对比 两者生成的单测API名称同原API&#xff0c;没加test前缀的。使用差异主要表现在&#xff1a; setUp &#xff06; …...

LangChain——HTML文本分割 多种文本分割

Text Splitters 文本分割器 加载文档后&#xff0c;您通常会想要对其进行转换以更好地适合您的应用程序。最简单的例子是&#xff0c;您可能希望将长文档分割成更小的块&#xff0c;以适合模型的上下文窗口。 LangChain 有许多内置的文档转换器&#xff0c;可以轻松地拆分、组…...

Spring事务和事务传播机制

博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:数据库 JavaEE专栏:JavaEE 软件测试专栏:软件测试 关注博主带你了解更多知识 目录 1.事务 1.1 什么是事务? 1.2 为什么需要事务? 1.3 事务的操作 2. Spring 中的事务 1. 编程式事务 2. 声明式事务Tra…...

STM32F103外部中断配置

一、外部中断 在上一节我们介绍了STM32f103的嵌套向量中断控制器&#xff0c;其中包括中断的使能、失能、中断优先级分组以及中断优先级配置等内容。 1.1 外部中断/事件控制器 在STM32f103支持的60个可屏蔽中断中&#xff0c;有一些比较特殊的中断&#xff1a; 中断编号13 EXTI…...

ChatGPT的应用场景:开启无限可能的大门

ChatGPT的应用场景&#xff1a;开启无限可能的大门 随着人工智能技术的快速发展&#xff0c;自然语言处理领域迎来了前所未有的突破。其中&#xff0c;ChatGPT作为一款基于Transformer架构的语言模型&#xff0c;凭借其强大的语言理解和生成能力&#xff0c;在多个行业和场景中…...

计算机毕业设计 | SpringBoot+vue社区医院管理系统(附源码+论文)

1&#xff0c;绪论 1.1 研究背景 互联网概念的产生到如今的蓬勃发展&#xff0c;用了短短的几十年时间就风靡全球&#xff0c;使得全球各个行业都进行了互联网的改造升级&#xff0c;标志着互联网浪潮的来临。在这个新的时代&#xff0c;各行各业都充分考虑互联网是否能与本行…...

直播实时美颜平台开发详解:基于视频美颜SDK的技术路径

视频美颜SDK作为实现实时美颜的关键技术&#xff0c;为开发者提供了高效、灵活的解决方案。本篇文章&#xff0c;小编将以“基于视频美颜SDK的技术路径”为主题&#xff0c;深入解析直播实时美颜平台的开发要点。 一、视频美颜SDK的作用与优势 视频美颜SDK是一种集成化的开发工…...

一个专为云原生环境设计的高性能分布式文件系统

大家好&#xff0c;今天给大家分享一款开源创新的分布式 POSIX 文件系统JuiceFS&#xff0c;旨在解决海量云存储与各类应用平台&#xff08;如大数据、机器学习、人工智能等&#xff09;之间高效对接的问题。 项目介绍 JuiceFS 是一款面向云原生设计的高性能分布式文件系统&am…...

【Elasticsearch】开启大数据分析的探索与预处理之旅

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…...

【算法】欧几里得与拓展欧几里得算法

目录 一、欧几里得算法 二、拓展欧几里得算法 2.1 裴蜀定理 2.2 拓展欧几里得算法 2.3 例题 三、线性同余方程 3.1 概念 3.2 例题 一、欧几里得算法 欧几里得算法又称辗转相除法&#xff0c;可用于求解两个数的最大公约数 其思路&#xff1a; gcd(a, b) gcd(b, a%b…...

组合数的求法

1.如果是多组查询的话&#xff0c;需要用数组去储存阶乘的值 n!/(m!(n-m)!) P4071 [SDOI2016] 排列计数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<cstdio> #include<iostream> #include<map> #include<cstring> #include<cmath&g…...

【环境搭建】更新Docker Compose到v2.x版本以支持--profile选项

Docker版本陈旧也是搭建的环境起不来的一个重要原因&#xff0c;比如 --profile 选项是 Docker 20.10.0 版本及以上版本才开始支持的&#xff0c;在 Docker Compose v2.1&#xff08;及以上版本&#xff09;中引入用于对服务进行分组和按需启动。 更新 Docker Compose 到 v2.x…...

解决 java -jar 报错:xxx.jar 中没有主清单属性

问题复现 在使用 java -jar xxx.jar 命令运行 Java 应用程序时&#xff0c;遇到了以下错误&#xff1a; xxx.jar 中没有主清单属性这个错误表示 JAR 文件缺少必要的启动信息&#xff0c;Java 虚拟机无法找到应用程序的入口点。本文将介绍该错误的原因以及如何通过修改 pom.xm…...

AIGC-----AIGC在虚拟现实中的应用前景

AIGC在虚拟现实中的应用前景 引言 随着人工智能生成内容&#xff08;AIGC&#xff09;的快速发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术的应用也迎来了新的契机。AIGC与VR的结合为创造沉浸式体验带来了全新的可能性&#xff0c;这种组合不仅极大地降低了VR内容的…...

【博主推荐】C#的winfrom应用中datagridview常见问题及解决方案汇总

文章目录 1.datagridview绘制出现鼠标悬浮数据变空白2.datagridview在每列前动态添加序号2.1 加载数据集完成后绘制序号2.2 RowPostPaint事件绘制 3.datagridview改变行样式4.datagridview后台修改指定列数据5.datagridview固定某个列宽6.datagridview某个列的显示隐藏7.datagr…...

Selenium 自动化测试demo

场景描述&#xff1a; 模拟用户登录页面操作&#xff0c;包括输入用户名、密码、验证码。验证码为算数运算&#xff0c;如下&#xff1a; 使用到的工具和依赖&#xff1a; 1. Selenium&#xff1a;pip install selenium 2. 需要安装浏览器驱动&#xff1a;这里使用的是Edge 3…...

深度神经网络模型压缩学习笔记二:离线量化算法和工具、实现原理和细节

文章目录 一、离线量化基础概念二、离线量化难点三、离线量化算法介绍四、离线量化工具介绍五、离线量化工具整体设计结构六、离线量化工具代码解读七、实践&#xff1a;Dipoorlet量化MobileNet 一、离线量化基础概念 二、离线量化难点 三、离线量化算法介绍 四、离线量化工…...

uni-app运行 安卓模拟器 MuMu模拟器

最近公司开发移动端系统&#xff0c;使用真机时每次调试的时候换来换去的麻烦&#xff0c;所以使用模拟器来调试方便。记录一下安装和连接的过程 一、安装MuMu模拟器 百度搜索MuMu模拟器并打开官网或者点这里MuMu模拟器官网 点击下载模拟器 安装模拟器&#xff0c;如果系统…...

网络安全,文明上网(6)网安相关法律

列举 1. 《中华人民共和国网络安全法》&#xff1a; - 这是中国网络安全的基本法律&#xff0c;于2017年6月1日开始实施。该法律明确了网络运营者的安全保护义务&#xff0c;包括采取数据分类、重要数据备份和加密等措施。 2. 《中华人民共和国数据安全法》&#xff1a; …...

Perforce Automation With Python

11/2024 出版 MP4 |视频&#xff1a;h264&#xff0c; 19201080 |音频&#xff1a;AAC&#xff0c;44.1 KHz 语言&#xff1a;英语 |大小&#xff1a; 2.65 GB |时长&#xff1a; 5 小时 18 分钟 使用 Python 脚本简化与 Perforce 版本控制系统相关的生产流程 您将学 到什么 …...

卷积神经网络学习记录

目录 神经网络基础定义&#xff1a; 基本组成部分 工作流程 卷积层&#xff08;卷积定义&#xff09;【CONV】&#xff1a; 卷积层&#xff08;Convolutional Layer&#xff09; 特征提取&#xff1a;卷积层的主要作用是通过卷积核&#xff08;或滤波器&#xff09;运算提…...

Spring Cloud Alibaba

What is SCA Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件&#xff0c;方便开发者通过Spring Cloud编程模型轻松使用这些组件来开发分布式应用服务。 依托Spring Cloud Alibaba&#xff0c;您只需要添加一些注解和少量…...

【AI绘画】Midjourney进阶:色调详解(上)

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AI绘画 | Midjourney 文章目录 &#x1f4af;前言&#x1f4af;Midjourney中的色彩控制为什么要控制色彩&#xff1f;为什么要在Midjourney中控制色彩&#xff1f; &#x1f4af;色调白色调淡色调明色调 &#x1f4af…...