Jmeter--2小时搞定入门以及基本使用(含高并发测试,高频率测试)
创始人
2024-05-31 10:15:38
0

1 入门

1.1 JMeter简介

  1. 概念
  • 可以对服务器、网络或对象模拟巨大的负载
  • 通过创建带有断言的脚本来验证程序是否能够返回期望的结果
  1. 优点

  2. 缺点

  • 不支持IP欺骗
  • 无法前端的JS程序,无法验证UI界面,一般用来测试接口

1.2 JMeter安装

  1. 下载解压

  2. 设置中文乱码

去jmeter的properties中设置下
在这里插入图片描述

  1. 启动

bin下的bat文件启动

在这里插入图片描述

在这里插入图片描述

1.3 项目简介

  1. restful语法功能

在这里插入图片描述

1.4 环境搭建

JDK和Python

2 JMeter使用

2.1 基本使用

  1. 先保存

在这里插入图片描述

  1. 添加
  • 右击添加线程组

在这里插入图片描述

  • 添加取样器
    在这里插入图片描述
  1. 更名

名称可以随便改

在这里插入图片描述

  1. 填写

在这里插入图片描述

在这里插入图片描述

  1. 查看结果

在测试结果获取所有中右击添加监听器:查看结果树

在这里插入图片描述

  1. 执行

在这里插入图片描述

  1. 查看

换个形式看

在这里插入图片描述

在这里插入图片描述

2.2 线程组相关

  1. 概念

一个进程可以包含多个线程组,一个线程组可以包含多个线程

  1. 新建线程组

在这里插入图片描述

  1. 新建线程:http请求

在这里插入图片描述

  1. 再加一个:http请求

或者直接再点击线程组后,ctrl+c,ctrl+v

在这里插入图片描述

  1. 反复

再新建一个线程组,里面再加两个http请求

线程组也可以cv,不过也要点击进程那边再进行

成这样

在这里插入图片描述

2.3 并发执行和顺序执行

  1. 概念
  • 并发执行:多个线程同时执行
  • 顺序执行:多个线程顺序执行
  1. 新建线程组以及线程
  2. 新建查看结果树
  3. 运行
  • 不按照顺序,就是并发执行
    在这里插入图片描述

  • 顺序执行

在进程里面:独立运行每个线程组 打勾即可

在这里插入图片描述

再去运行就可以了

在这里插入图片描述

2.4 两个特殊线程组

  1. 分类
  • setUp线程组

最优先执行的线程组

类比军人

  • tearDown线程组

最后执行的线程组

类比难忘今宵

  1. 操作
  • 添加线程和线程组,以及察看结果树

    在这里插入图片描述

  • 执行

在这里插入图片描述

  • 三个线程组执行

注意结果顺序 1,3,2

在这里插入图片描述

2.5 线程组常用属性

  1. 总览
    在这里插入图片描述
  • 线程数:模拟用户数
  • ramp-up时间:程序准备时间
  • 循环次数:相当于线程数执行几遍,即每个用户请求几次

如果线程数为2,循环次数为3,那么察看结果树就会返回6个请求

在这里插入图片描述

如果循环次数选择永远,好家伙直接一直请求

  • 调度器配置

勾选调度器后,才可以进行持续时间和启动延迟的设置,如果持续时间选择2秒,就是只会勾选执行2秒钟

2.6 http请求默认值

  1. 设置
    在这里插入图片描述

在这里插入图片描述

  1. 如果多个
    在这里插入图片描述

出现的情况是:如果复制粘贴多个,那么设置都一个样子,浪费设置

  1. 简化

右击进程,选择http请求默认值

在这里插入图片描述

然后在里面设置重复的属性

在这里插入图片描述

然后其他的http就不用写这些了,复用的已经进行封装了

在这里插入图片描述

2.7 信息头管理器

  1. http设置
  • 基本设置

在这里插入图片描述

  • 消息体设置

在这里插入图片描述

但是报错,不知道你传入的是什么类型,所以要去设置HTTP信息头管理器

  1. HTTP信息头管理器添加位置
  • 右击进程添加

在这里插入图片描述

  • 添加json类型

在这里插入图片描述

  1. 重新执行

就能识别json了

在这里插入图片描述

2.8 参数化

  1. 场景

一个一个请求提交太慢了

2.8.1 用户定义变量

  1. 设置位置

在这里插入图片描述

在这里插入图片描述

  1. 设置变量对应内容

在这里插入图片描述

  1. 调用

返回http请求然后路径写${xx}变量即可
在这里插入图片描述

  1. 看下结果

在这里插入图片描述

在这里插入图片描述

2.8.2 CSV数据文件设置

  1. 作用

可是实现批量操作形式

  1. 步骤

在这里插入图片描述

  1. 前置设置

设置线程组以及HTTP请求(POST形式)以及察看结果树以及HTTP信息头管理器(为了识别json数据)

  1. 批量添加
  • 目的:把数据批量添加到数据库

  • 数据

在这里插入图片描述

  • 批量设置

在这里插入图片描述

在这里插入图片描述

  • 在线程组钟将循环次数设置为永远

因为可能不知道数据有几条,如果你知道有几条,那就写几

在这里插入图片描述

2.8.3 用户参数实现批量添加

  1. 总览

与csv方式的对比是不用csv文件也可以实现批量添加,一般工作用csv,这边用用户参数

  1. 设置
  • 添加用户参数

在这里插入图片描述

  • 用户参数内容

在这里插入图片描述

  • 线程组设置

设置3个用户试试看,循环次数不弄了
在这里插入图片描述

  • 传参json变量要进行替换

在这里插入图片描述

  1. 执行
    数据加进去了
    在这里插入图片描述

2.8.4 函数

  1. 计数函数count
  • 效果

请求的结果后面自带个数

  • 操作

在这里插入图片描述

拷贝走代码${_counter(true,)}

在这里插入图片描述

放到Http请求最后面

在这里插入图片描述

  • 执行

变成每个用户自己请求次数自己计算了,如果选flase就是1-6,不管哪一个用户

在这里插入图片描述

  1. 随机函数Random
  • 操作

把前面的禁用掉

在这里插入图片描述

一样的地方

在这里插入图片描述

设置random,1-3闭区间

在这里插入图片描述

  • 结果

在这里插入图片描述

  1. 时间函数time
  • 操作

当前时间戳

在这里插入图片描述

自己设置的格式

在这里插入图片描述

2.9 直连数据库

  1. 添加jar包

在这里插入图片描述

  1. 操作
  • 添加JDBC的Request

在这里插入图片描述

  • 添加数据库连接池

在这里插入图片描述

填入数据库的信息
在这里插入图片描述

  • 回到JDBC的Request写sql

在这里插入图片描述

  • 执行

按下绿色按钮

然后看下结果

在这里插入图片描述

  1. 结果在百度搜索
  • 增加一个返回的变量

在这里插入图片描述

  • select的结果

发现都加上了val前缀

在这里插入图片描述

  1. 请求百度

在这里插入图片描述

  1. 看下结果
  • 看下怎么请求的

在这里插入图片描述

  • 看下response的结果

在这里插入图片描述

2.10 断言

  1. 概念

让程序代替人工判断响应结果是否符合预期

在这里插入图片描述

  1. 响应断言
  • 添加

在这里插入图片描述

  • 断言设置

常用响应文本和响应代码,设置筛选老张

在这里插入图片描述

  • 结果

如果包含老张了,你执行的时候就不会报错

在这里插入图片描述

如果没有就报错,像这样

还有其他规则,相等就是要一模一样,一般常用相等和包含,否就是取非

甚至也可以测响应码

在这里插入图片描述

在这里插入图片描述

  1. 大小断言
  • 总览

在这里插入图片描述

  • 大小对应的就是

在这里插入图片描述

  • 响应代码

是大小,不是200的字符,所以写3个字符

在这里插入图片描述

  • 响应消息

对应message的ok

在这里插入图片描述

但是来这边只能写2字符表示ok

在这里插入图片描述

  1. 断言持续时间

表示是不是在5ms以内

在这里插入图片描述

3 性能测试

3.1 高并发

  1. 前置准备
  • HTTP请求

在这里插入图片描述

  1. 添加同步定时器

在这里插入图片描述

  1. 设置下线程组

模拟一百人

在这里插入图片描述

  1. 同步定时器设置
  • 设置用户组数量

如果一百人分两次访问服务器,这边就写五十,类比公交车上的位置够不够

在这里插入图片描述

  • 设置超时时间

不要写零,写零的话后面剩下的不够数量会出现超等

在这里插入图片描述

  1. 结果

不要用察看结果树了,用聚合报告,看平均值,异常情况,吞吐量

在这里插入图片描述

在这里插入图片描述

3.1 高频率

  1. 场景

在这里插入图片描述

QPS每秒钟二十次

  1. 添加请求/聚合报告

在这里插入图片描述

在这里插入图片描述

  1. 添加常数吞吐量定时器

在这里插入图片描述

在这里插入图片描述

  1. 线程组设置

二十x十五

在这里插入图片描述

  1. 执行

在这里插入图片描述

相关内容

热门资讯

小米手机安卓系统rom,功能与... 你有没有发现,最近小米手机的热度又上来了?没错,就是那个以性价比著称的小米。今天,咱们就来聊聊小米手...
安卓8.0系统自动重启,安卓8... 最近你的安卓手机是不是也遇到了一个让人头疼的问题?没错,就是那个让人抓狂的自动重启!是不是每次正在关...
安卓导航进入系统设置,解锁个性... 亲爱的手机控们,你是否曾在某个午后,手捧着你的安卓手机,突然想探索一下它的深处,看看那些隐藏在系统设...
安卓系统爱疯7,兼容与创新的双... 你知道吗?在科技圈里,最近可是有个大热门呢!那就是安卓系统和爱疯7的较量。这两大操作系统,一个自由奔...
安卓系统第9代,新一代智能系统... 你知道吗?最近科技圈可是炸开了锅,安卓系统第9代横空出世,简直让人眼前一亮!这款全新的操作系统,不仅...
安卓系统屏幕复制软件,轻松实现... 你是不是也和我一样,有时候想分享手机屏幕上的精彩瞬间,但又不知道怎么操作呢?别急,今天就来给你揭秘安...
流量充值软件安卓系统,畅享无忧... 你有没有想过,手机里的流量用完了,却不想再办新卡或者去营业厅充值?现在,有了这些神奇的流量充值软件,...
soc系统和安卓系统的区别,架... 你有没有想过,为什么你的手机里装的是安卓系统而不是soc系统呢?这两种系统各有各的特色,今天就来给你...
宝马连不上安卓系统蓝牙,宝马车... 最近有个事儿让不少宝马车主头疼不已,那就是他们的爱车竟然连不上安卓系统的蓝牙!这可真是让人摸不着头脑...
安卓系统安装gps模块,安卓系... 你有没有想过,为什么你的安卓手机在户外旅行时总是能精准地告诉你位置呢?这背后可大有学问呢!今天,就让...
安卓手机如何修复系统,安卓手机... 手机突然卡顿,系统崩溃,是不是让你头疼不已?别担心,今天就来教你几招,让你的安卓手机焕然一新!一、重...
系统更新华为安卓,引领智能科技... 亲爱的手机控们,是不是最近你的华为手机突然变得有点儿“慢吞吞”了呢?别急,这可不是你的错觉哦!华为安...
安卓系统拦截怎么解除,轻松恢复... 你是不是也遇到了安卓系统拦截的问题,心里直痒痒想要解除它呢?别急,今天就来给你详细说说怎么搞定这个小...
老式平板装安卓系统,重温经典体... 你有没有想过,那些曾经陪伴我们度过无数时光的老式平板电脑,竟然还能装上安卓系统呢?这可不是什么天方夜...
系统如何与安卓互通,技术融合与... 你有没有想过,你的手机系统竟然能和安卓系统这么默契地互通有无?这就像是一场跨越科技界的友谊赛,让我们...
安卓系统 扫码枪,安卓系统下扫... 你有没有想过,在繁忙的超市收银台,那些快速流畅的扫码操作,背后其实隐藏着一个小小的英雄——安卓系统扫...
平板插卡推荐安卓系统,安卓系统... 你有没有想过,你的平板电脑是不是也能像智能手机一样,随时随地扩充存储空间呢?没错,这就是今天我要跟你...
安卓系统固件安装失败,原因排查... 最近是不是你也遇到了安卓系统固件安装失败的问题?别急,让我来给你详细说说这个让人头疼的小麻烦,让你一...
ios系统和安卓区别,系统差异... 你有没有发现,现在手机市场上,iOS系统和安卓系统就像是一对双胞胎,长得差不多,但性格却截然不同。今...
安卓系统2.3优酷,优酷的崛起... 你有没有发现,安卓系统2.3时代的那股怀旧风?那时候,优酷可是视频界的巨头,多少人都是看着优酷长大的...