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

【性能测试】4_JMeter _JMeter使用示例

文章目录

  • 一、JMeter第一个案例
  • 二、线程组
    • 2.1 线程组的特点
    • 2.2 线程组的分类
    • 2.3 线程组的参数详解
      • 2.3.1 在取样器错误后要执行的动作
      • 2.3.2 线程属性
      • 2.3.3 调度器配置
  • 三、HTTP请求
    • 3.1 发送GET请求
      • 3.1.1 案例1
      • 3.1.2 案例2
    • 3.2 发送POST请求
      • 3.2.1 json类型设置
      • 3.2.2 消息体数据
  • 四、察看结果树
  • 五、jmeter响应中出现乱码

一、JMeter第一个案例

需求: 使用JMeter访问百度首页接口, 并查看请求和响应信息

操作步骤 :

1. 启动JMeter 2. 在‘测试计划’下添加‘线程组’ 3. 在‘线程组’下添加‘HTTP请求’取样器 4. 填写‘HTTP请求’的相关请求数据 5. 在‘线程组’下添加‘察看结果树’监听器 6. 点击‘启动’按钮运行, 并查看结果

二、线程组

说明: 线程组是控制JMeter将用于执行测试的线程数, 也可以把一个线程理解为一个测试用户。

2.1 线程组的特点

  • 模拟多人操作
  • 线程组可以添加多个, 多个线程组可以并行或串行
  • 取样器(请求) 和逻辑控制器必须依赖线程组才能使用
  • 线程组下可以添加其他元件下组件

2.2 线程组的分类

1、线程组:普通的、 常用的线程组, 可以看做一个虚拟用户组, 线程组中的每一个线程都可以理解为一个虚拟用户。(受并行、串行配置的影响)

2、setUp线程组:一种特殊类型的线程组, 可用于执行预测试操作。(不受并行、串行配置的影响)

3、tearDown线程组:一种特殊类型的线程组, 可用于执行测试后工作。 (不受并行、串行配置的影响)

2.3 线程组的参数详解

2.3.1 在取样器错误后要执行的动作

  • 继续: 如果取样器里的执行出现错误失败的时候, 请求不会停止, 继续执行。
  • 启动下一进程循环: 忽略错误, 线程当前循环错误, 执行下一个循环。
  • 停止线程: 只限当前线程停止, 不影响其他线程执行
  • 停止测试: 当前执行的线程全部执行完毕后结束
  • 立即停止测试: 立刻停止

2.3.2 线程属性

  • 线程数: 虚拟用户数。(代表并发用户数,体现服务器的负载量)
线程数m和循环次数n的关系: -如果同时配置,实际发送的HTTP请求数应该为m*n -虽然发送请求的次数相同,但是不能相互替换。
  • Ramp-Up时间(秒): 爬坡时间,启动全部虚拟用户数所需要的时间。
目的:为了模拟性能测试的场景,更接近用户的使用习惯(用户慢慢接入系统)
  • 循环次数:代表执行时间,指定次数或勾选永远。
设置为固定次数n时:脚本运行时发送请求的次数为n 设置循环次数为“永远”时,脚本会一直运行下去,不停止
  • 延迟创建线程直到需要: 勾选了表示 边创建边执行。适合线程数非常多,避免死机。
如果不勾选,在jmeter点击运行时立即分配(使用不多,了解即可,无法观察效果)
  • 调度器: 勾选后, 调度器配置才能使用;

2.3.3 调度器配置

  • 持续时间(秒) : 设置脚本压测持续时间
  • 启动延迟(秒) : 启动延迟时间
一般与循环次数为“永远”的设置配合使用 - 持续时间设置为n时:脚本的请求发送的时间为n秒 - 延迟启动设置为n时:脚本的请求发送在等待n秒后再进行

三、HTTP请求

位置: 选中线程组->右键->添加->取样器->HTTP请求 作用: 向服务器发送http及https请求

- 协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https,默认值为http。 - 服务器名称或IP:HTTP请求发送的目标服务器名称或IP地址。 - 端口号:目标服务器的端口号,默认值为80。 - 方法:发送HTTP请求的方法,可用方法包括GET、 POST、 HEAD、 PUT、 OPTIONS、 TRACE、 DELETE等。 - 路径:目标URL路径(不包括服务器地址和端口) - Content encoding:内容的编码方式,默认值为iso8859 - 同请求一起发送参数:GET请求时url中附带参数可以通过此方式添加 - 消息体数据:POST/PUT请求JSON数据存放地

3.1 发送GET请求

当是get请求,这个参数被设置为查询参数。

3.1.1 案例1

  • 协议未填写,则默认为HTTP协议
  • 端口未填写,则默认为80端口
  • 将GET请求参数放在路径中填写

3.1.2 案例2

  • 协议选择HTTPS
  • 端口号为443
  • 将GET请求参数放在下面的参数列表中进行填写

3.2 发送POST请求

  • 方法选择POST
  • 将参数内容放入到消息体数据中,在发送时参数会添加到请求体中发送。

3.2.1 json类型设置

必须给“线程组” 添加 “HTTP信息头管理器” 在“HTTP信息头管理器” 添加: Connect-Type:application/json

3.2.2 消息体数据

{"age":18}// 按照json语法写入数据

四、察看结果树

位置: 选中测试计划/线程组->右键->添加->监听器->察看结果树。 作用:查看请求和响应结果。

取样器结果:查看响应信息头信息、响应状态码 - 请求:查看请求相关信息(url、方法、参数) - 响应:查看响应信息

五、jmeter响应中出现乱码

http://www.jsqmd.com/news/249714/

相关文章:

  • DeepSeek写的论文太AI了?推荐3款降重工具一键搞定
  • Java全栈工程师的面试实战:从基础到高阶的技术对话
  • 【性能测试】5_JMeter _JMeter参数化
  • 导师推荐9个AI论文网站,助你轻松搞定本科生毕业论文!
  • Kimi生成的论文AI率爆表?这份降重操作指南收好
  • 解析大数据领域数据目录的发展趋势
  • sealos introduction (open-source cloud-native platform, Kubernetes Deployment, Cluster deployment)
  • 基于springboot的文化旅游小程序(源码+论文+部署+安装)
  • 导师推荐10个AI论文写作软件,助你轻松完成继续教育论文!
  • 基于微信小程序的大学生餐厅点餐系统(源码+论文+部署+安装)
  • 自考必看!9个高效降AIGC工具推荐,轻松过审!
  • 滚珠丝杆选型:导程与负载参数搭配需避开哪些常见误区?
  • 别再“等”生活:掌握主动幸福力
  • Oracle中Merge Using用法
  • 货币型VS净值型:收益风控认知全解析
  • 金刚能断是《当和尚遇到钻石》系列书籍的核心作品
  • 导师推荐!2026自考必备AI论文平台TOP9:9款测评+选哪个最稳
  • 关于 免杀(上)
  • 数字孪生是什么?国内外有哪些服务商——技术实力/市场地位深度解析与全景测评
  • 树的练习3--------1022从根到叶的二进制数之和
  • 被多数品牌忽略的:一站式发稿平台为何成为高效营销的必备选择?
  • 基于Johansen协整检验的指数期权统计套利策略实现
  • 救命神器2026最新!8款AI论文平台测评:本科生毕业论文全攻略
  • A59U 多模音频处理模组:USB 全兼容 + 全场景声学优化,让设备 “听见” 更清晰
  • 导师推荐!9款一键生成论文工具测评:本科生毕业论文全攻略
  • 纯血鸿蒙中的HashMap不支持首选项存储,但是Record就支持
  • 2026算法备案最全实操攻略:政策解读、奖励申报与产品上架全流程
  • 苹果签名的江湖风云:四大令牌如何主宰App生死
  • 2026 CTF 比赛实战指南:趋势解读 + 赛事推荐 + 备考策略,从入门到冲奖全攻略
  • 看不见的“门票”:一文读懂苹果签名的游戏规则