Jmeter实验笔记

news2024/12/28 17:53:26

Jmeter实验

一、基础操作

启动Jmeter

点击bin目录下的,jmeter进行启动
在这里插入图片描述
修改界面语言为中文
在这里插入图片描述
在这里插入图片描述

发起一个最基本的请求

GET请求

线程组,Http请求,察看结果树
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
提示:参数、消息体数据这两个按钮是互斥的、只要其中一个有数据,就无法选中另一个了
在这里插入图片描述

清除察看结果树的结果

在这里插入图片描述

察看结果树的作用范围

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设置请求跟随重定向

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

响应断言-响应文本

判断响应文本中是否有"百度一下"
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

判断响应文本中是否有"百度一下"和"百度两下"
在这里插入图片描述
在这里插入图片描述
判断响应文本中是否有"百度一下"和"你就知道"
在这里插入图片描述
在这里插入图片描述
增加一个断言,判断响应文本中是否有"百度两下",发现响应没有通过断言,因此只有所涉及的断言都为真,察看结果树里才为绿色
在这里插入图片描述

响应断言-响应代码(状态码)

测试发现,判断响应代码是以最后一个响应包的状态码为判断依据
先单纯的请求一个存在重定向的网址
在这里插入图片描述
在这里插入图片描述
开始断言响应代码,由下可见,是以重定向后最后一个请求的状态码为判断依据
在这里插入图片描述
在这里插入图片描述
关闭跟随重定向,断言302遍通过了
在这里插入图片描述
在这里插入图片描述

Json断言

通过测试发现,响应数据为json格式的情况,依然可以使用上面的响应断言来进行断言。

看一下正常运行的结果,此接口功能为查询ip归属地
在这里插入图片描述
在这里插入图片描述
获取json内的值的方法
在这里插入图片描述
添加json断言
在这里插入图片描述
json断言1
在这里插入图片描述
在这里插入图片描述
json断言2
在这里插入图片描述
在这里插入图片描述
json断言3
在这里插入图片描述
在这里插入图片描述
json断言4
在这里插入图片描述
在这里插入图片描述

后置处理器

先写出正则"city":"(.?)",匹配出所需要的东西,对于需要的内容,(.?) 这个括号得用,因为在正则表达式处理器中,需要选择要提取哪个分组,所以在正则表达式中得用括号来形成分组
在这里插入图片描述
配置正则表达式处理器
在这里插入图片描述
常规配置
引用名称,是把匹配的结果定义为一个变量,后续调用方式为${city}
$1$代表第一个分组,在这里我们也只写了一个分组
匹配数字1代表匹配到matchs中的第1个match
在这里插入图片描述
在这里插入图片描述
运行正确,前一个请求的响应数据,被匹配出来后,代入到后一个请求中
(这个在每次请求都需要更新token的情况,就可以用了)
在这里插入图片描述
在这里插入图片描述
再测试一下正则表达式提取器的细节
在这里插入图片描述

模板写$1$代表使用第一个分组
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
模板写$2$代表使用第二个分组
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Jmeter使用函数

在这里插入图片描述

Random函数

在这里插入图片描述
设置线程组循环次数为3,查看运行结果,看到产生了随机数
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
但是第三个请求,红色的没有成功,由于请求频率太快了,在这里尝试加入一个定时器,三个请求都获得了正常的响应
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

counter函数

在这里插入图片描述
设置线程组循环次数为3,查看运行结果,看到产生了从1开始的递增1,2,3。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

V函数

在测试计划中,添加用户定义的变量
在这里插入图片描述
单纯的调用变量
在这里插入图片描述
使用到了address_1的值
在这里插入图片描述
现在想依次使用 address_1、address_2、address_3
若像下面这样,则不能达到我们的目的
在这里插入图片描述
在这里插入图片描述
所以要使用V函数

填入
address_${__counter(false,)}
生成
${__V(address_${__counter(false,)},)}

在这里插入图片描述
循环次数设置为3,运行,看到使用V函数达到了目的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Jmeter定时器

在第HTTP请求2中加一个固定定时器,设置线程延迟5秒,便会在发起HTTP请求2之前,等待5秒
在这里插入图片描述
在这里插入图片描述
添加一个监听器-用表格查看结果,这样比较直观
在这里插入图片描述
在这里插入图片描述
把线程组的线程数改为2(也就是代表2个用户),看看情况
在这里插入图片描述
可以看到每个线程的http请求2,在发起请求之前,都会等待5秒
在这里插入图片描述
在这里插入图片描述

Jmeter http请求默认值

在这里插入图片描述
填写默认值,类似于编程里函数的缺省参数,若该配置原件作用域内的请求没有填写值的话,就使用默认值,否则就使用填写进去的值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行结果
在这里插入图片描述
在这里插入图片描述

Jmeter http信息头管理器

以下面这个请求包为例

GET /-0U_dTmfKgQFm2e88IuM_a/ps_fp.htm?pid=superman&fp=undefined&im=undefined&wf=undefined&br=3&qid=0xe19b53a60000a467&bi=E00733E6DB1132C3BDB30C1FCBD4AC01:FG=1 HTTP/1.1
Host: sp3.baidu.com
Cookie: BAIDUID=E00733E6DB1132C3BDB30C1FCBD4AC01:FG=1; BIDUPSID=E00733E6DB1132C3593AA4A3AB7EB685; PSTM=1681867541; H_PS_PSSID=38515_36552_38470_38351_38364_38468_38486_37926_37709_38356_26350; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; BDRCVFR[gltLrB7qNCt]=mk3SLVN4HKm; delPer=0; PSINO=7; BA_HECTOR=21a52h0lal252520ah01a4ag1i3umqt1m; ZFY=:AUQpANihlHKS9ZwOdYuA:BQo:AV:AV:AxnBTg33OUIk8iOc:C
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0
Accept: image/avif,image/webp,*/*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: https://www.baidu.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site
Te: trailers
Connection: close

添加信息头管理器,它的作用范围则是它自己的作用域
在这里插入图片描述
复制请求包里所需要的请求头信息,点击从剪切板添加,便会自动填充
在这里插入图片描述
在这里插入图片描述
运行结果,请求头带入到了请求中,但是比较奇怪的是,cookie放到了request body中,不知道为什么会这样
在这里插入图片描述

Jmeter http代理服务器

想要抓取https的包,得把Jmeter的证书导入到浏览器里,自行百度。
配置代理服务器
在这里插入图片描述
目标控制器,指定抓到的数据包,放到哪个线程组
Naming scheme,接口显示的内容格式
在这里插入图片描述
设置过滤的数据包类型,点击添加后,在后面加上.* 过滤才生效
在这里插入图片描述
点击启动
在这里插入图片描述
配置浏览器代理
在这里插入图片描述
刷新页面,得到抓包结果
在这里插入图片描述
添加察看结果树,运行一下,可看到运行结果
在这里插入图片描述

Jmeter http cookie管理器(未完善)

Jmeter参数化

JMeter中常用的参数化方式:
1、用户参数(User Parameter):适用于参数取值范围很小,需要少量测试数据时使用。
2、用户自定义变量(User Defined Variables):更多用于设置全局变量,常用于数据库地址,测试环境、开发环境地址等常量配置。
3、CSV数据文件设置(CSV Data Set Config)。

用户参数和用户自定义变量

用一个例子来进行说明
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行结果
在这里插入图片描述
在这里插入图片描述
删除测试计划中的-用户定义的变量
在这里插入图片描述
运行结果
在这里插入图片描述
在这里插入图片描述

CSV数据文件设置

在这里插入图片描述
准备测试数据,我这里使用的是Tab键分隔的
在这里插入图片描述
给每一列,定义为一个变量,至于其它的选项,等用到的时候,再自行选择
在这里插入图片描述
在这里插入图片描述
有5行数据,线程数设置为5,刚好把txt里的数据用完
在这里插入图片描述
运行结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Jmeter逻辑控制器

一堆堆的、暂时没有需要用到的场景,未学习使用
在这里插入图片描述

Jmeter连接数据库

访问https://downloads.mysql.com/archives/c-j/,下载Jmeter连接数据库需要用到的驱动程序,所需下载的版本,与mysql的版本有关,自行查看版本对应关系后选择匹配版本进行下载,以下为下载结果,把jar文件放到jmeter的bin目录下
在这里插入图片描述
在这里插入图片描述
启动数据库
在这里插入图片描述
使用Jmeter配置连接
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行结果
在这里插入图片描述
在这里插入图片描述

二、性能测试

用表格查看结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/439798.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【配电网重构】【SOE】随机配电网重构中的开关开换方法研究(Matlab代码实现)

💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 …

数组index相同的数组进行合并

index相等的数据进行合并 let formJson [{remind: "请输入电话",sort: 0,title: "电话",type: 1,uuid: "15e343c1-060d-TL51f-8ace-23a968e9e2b9"},{remind: "请输入姓名",sort: 0,title: "姓名",type: 1,uuid: "15e…

文件,IO流,FileInputStream,FileOutputStream,FileReader和FileWriter是字符流

文件就是保存数据的地方文件流&#xff1a;文件在程序中是以流的形式来操作的 java程序&#xff08;内存&#xff09;<-----输入流-----文件&#xff08;磁盘&#xff0c;光盘等&#xff09;java程序&#xff08;内存&#xff09;------输出流----->文件&#xff08;磁盘…

用栈的思想实现将一个十进制数字转换为八进制--数据结构

魔王的介绍&#xff1a;&#x1f636;‍&#x1f32b;️一名双非本科大一小白。魔王的目标&#xff1a;&#x1f92f;努力赶上周围卷王的脚步。魔王的主页&#xff1a;&#x1f525;&#x1f525;&#x1f525;大魔王.&#x1f525;&#x1f525;&#x1f525; ❤️‍&#x1f…

单点定位2米精度?这张卡差点干掉了RTK(内有轨迹对比图)

单点定位2米精度&#xff1f;现在的定位芯片卷成这样了&#xff1f;上面两张卡一款是主打高性能融合定位的星斗3&#xff0c;另一款是主打高性价比高精度低功耗的DNA-1&#xff0c;今天小编给两张定位卡做评测。 话不多说先上轨迹图&#xff1a; 这张图是我们拿着星斗3号RTK定…

小程序封装拖拽菜单组件(uniapp拖拽排序,自定义菜单)

效果展示 思路 使用movable-area作为可移动区域,并在内部循环渲染列表项view,绑定touch事件。在mounted生命周期函数内获取区域movable-area的dom信息,记录列表项的坐标信息。在methods中定义了列表项的touchstart、touchmove和touchend事件的方法,用于实现列表项的拖拽移动和…

偶数社区投稿丨OushuDB学习实践系列(一):开一家超市

大家好&#xff0c;我是镜镜呀&#xff0c;也是一名技术开发人员。本系列内容&#xff0c;也将由技术点出发&#xff0c;从数据库的使用、实践开始&#xff0c;逐步增加对整体的认知&#xff0c;由点及面&#xff0c;真正理解 OushuDB、数据湖仓一体在技术上的变革&#xff0c;…

@Configuration 和 @Component 注解的区别

一句话概括就是 Configuration 中所有带 Bean 注解的方法都会被动态代理&#xff0c;因此调用该方法返回的都是同一个实例。 理解&#xff1a;调用Configuration类中的Bean注解的方法&#xff0c;返回的是同一个示例&#xff1b; 而调用Component类中的Bean注解的方法&#x…

【社区图书馆】携程架构与实践图书

发这篇博文主要是想学习一下携程的架构。携程出了一本《携程架构实践》&#xff0c;无奈现在还没开源。看京东价大概109元人民币。如果看到次博文的网友能发我一本《携程架构实践》pdf。不胜感谢。或者实体书籍也行。其实我不怎么需要实体书籍&#xff0c;因为技术的东西很快会…

使用 IDEA 远程 Debug 调试

背景 有时候我们需要进行远程的debug&#xff0c;本文研究如何进行远程debug&#xff0c;以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 配置 远程debug的服务&#xff0c;以springboot微服务为例。首先&#xff0c;启动springboot需要加上特定的参数。…

小白下载以后打不开怎么解决

我们重装系统时&#xff0c;大家会遇到各种各样的问题&#xff0c;现在有一些想用小白一键重装系统工具来帮助自己完成系统重装时&#xff0c;却发现我们打不开这个工具&#xff0c;现在不知道其原因有哪些&#xff0c;那么大家今天就来告诉小伙伴们小白一键重装官网下载以后打…

计算机概述

计算机&#xff1a; 硬件&#xff1a; CPU&#xff08;Central Processing Unit&#xff0c;中央处理器&#xff09;靠大脑思考&#xff0c;电脑靠CPU来运算、控制。硬盘&#xff08;Hard Disk Drive&#xff09; 计算机最主要的存储设备&#xff0c;容量大&#xff0c;断电数…

创新,阿里首发微服务实施手册我粉了,原来微服务还可以这样玩

微服务 相信大家在网上会看到很多帖子把分布式跟微服务放在一起讨论。确实&#xff0c;微服务就是一种分布式架构的设计方法。但是&#xff0c;在微服务概念还没有出现之前&#xff0c;分布式这个概念并不能引起人们的强烈关注&#xff0c;如果说自己擅长分布式架构设计&#…

TCP,TCP 连接建立,TCP 连接断开,Socket 编程

目录 TCP基本认识 TCP 头格式有哪些&#xff1f; 为什么需要 TCP 协议&#xff1f; TCP 工作在哪一层&#xff1f; 什么是 TCP &#xff1f; 什么是 TCP 连接&#xff1f; #如何唯一确定一个 TCP 连接呢&#xff1f; UDP 和 TCP 有什么区别呢&#xff1f;分别的应用场景是…

【教学类-34-02】拼图(英文大写字母)3*2格子(中班主题《个别化拼图》偏艺术-美术)

作品展示&#xff1a; 背景需求 3*4块运动拼图对幼儿有点难&#xff08;不熟悉图案内容、拼图数量多&#xff09; 1、选择幼儿相对熟悉的的字母&#xff08;26个&#xff0c;基本满足28人&#xff09; 2、拼图数量&#xff1a;2*36块 3、做的小一点&#xff0c;一张2份&am…

【软件测试面试】全网最全,自动化测试面试题总结大全(付答案)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 面试题1&#xff…

企企通项目入选《2023爱分析·供应链和采购数字化最佳实践案例》

近日&#xff0c;“2023爱分析供应链和采购数字化最佳实践案例”评选活动落下帷幕&#xff0c;主要围绕实践领先性、案例创新性、应用成熟度、价值创造四个维度对候选实践案例进行评选。企企通凭借自身丰富的采购供应链解决方案经验&#xff0c;以“迈金科技采购数字化管理平台…

美洽迈入“生成式AI时代”,开启智能客服新纪元!

生成式 AI&#xff0c;当前科技领域最热门的话题之一。 它指的是一类人工智能模型&#xff0c;可以根据输入的数据&#xff0c;自动生成新的数据或者输出一些有用的信息&#xff0c;例如&#xff1a;文本、图像、音频、视频等等。 在实际应用中&#xff0c;生成式AI可以帮助人…

“COMSOL电化学系列,锂离子电池仿真,燃料电池仿真

背景&#xff1a; 电化学仿真技术通过对电池微观行为进行研究&#xff0c;明晰电池内部多现象机理&#xff0c;并将其数值化&#xff0c;通过数值方法实现对物理特征联合计算&#xff0c;建立完整的电池模型。COMSOL Multiphysics具有强大的多物理场全耦合仿真分析功能、高效的…

Django框架介绍及搭建开发环境

介绍 是一个开放源代码的web应用框架&#xff0c;由python编写。 与常规的MVC架构不同&#xff0c;为MTV架构。 MTV Model(模型)&#xff1a;负责业务对象和数据库的关系映射&#xff08;ORM&#xff09;。 Template(视图)&#xff1a;负责把页面展示给用户&#xff08;htm…