JMeter基本使用

JMeter基本使用

JMeter元件及组件

 

JMeter组件的基本介绍

取样器:发送请求。
逻辑控制器:控制元件执行顺序。类似于代码的逻辑控制语句
前置处理器:对发送的请求参数进行预处理。前置参数
后置处理器:对收到的响应数据进行处理。后置参数
定时器:等待一定时间。
测试片段:封装的脚本,供其他脚本调用。类似于代码中封装的函数
配置元件:测试前的环境及数据配置。类似于自动化中的初始化动作
监听器:查看测试的结果。

 

 

线程租

模拟多人操作----并行执行

如果有多个线程组时,可以并行

 

模拟多人操作----串行执行

“独立运行每个线程组”勾选,则所有的线程组按照添加顺序串行执行;
如果未勾选,则并行执行(先后顺序无法保证)

 

线程组的分类:

普通线程组:用于发送业务请求的线程组(受并行、串行配置的影响)
setup线程组:在所有的线程组之前执行(不受并行、串行配置的影响)
teardown:在所有的线程组之后执行(不受并行、串行配置的影响)

 

 

线程组的属性:

线程数:需要模拟的虚拟用户数。

ramp-up time:模拟的虚拟用户数全部启动所需要的时间。

目的:为了模拟性能测试的场景,更接近用户的使用习惯(用户慢慢接入系统)

循环次数:
设置为固定次数n时:脚本运行时发送请求的次数为n
设置循环次数为“永远”时,脚本会一直运行下去,不停止

调度器:
一般与循环次数为“永远”的设置配合使用
持续时间设置为n时:脚本的请求发送的时间为n秒
延迟启动设置为n时:脚本的请求发送在等待n秒后再进行
延迟创建线程直到需要:当启动线程发送请求时,才分配资源;如果暂未启动该线程,则不分配。如果不勾选,在jmeter点击运行时立即分配(使用不多,了解即可,无法观察效果)

线程数m和循环次数n的关系:
如果同时配置,实际发送的HTTP请求数应该为m*n
虽然发送请求的次数相同,但是不能相互替换
线程数:代表并发用户数,体现服务器的负载量
循环次数:代表执行时间

 

发送HTTP请求

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

 

发送HTTPS请求

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

 

发送post请求

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

 

发送请求之后返回的结果

取样器结果

 

 

 

 

 请求体

 

 

 

 

 

 请求头

 

 

 

响应体

 

 

响应头

 

 

 

 

JMeter参数化

用户自定义变量(局部设置--线程租设置)

配置方法1:配置元件中配置 添加路径:测试计划——线程组——配置元件——用户定义的变量

参数设置:

参数名:参数值

在HTTP取样器中应用:${参数名}

线程组下配置的用户定义的变量,在线程组下生效,与测试计划中配置的变量冲突时,以线程组下的为准

 

 

设置自定义变量

 

 

 

使用变量

 

 

 

用户自定义变量(全局设置)

配置方法2:在测试计划中配置(全局生效)

 

 

用户参数

使用用户定义的变量时,不同的用户在访问时,读取的参数值完全相同,如果希望每个用户在访问时的 变量不同,可以使用用户参数。

配置方法: 添加位置:线程组——前置处理器——用户参数

添加用户:可以添加多组用户

添加参数:针对每个用户添加多个参数

 

 

 

用户参数使用

 

 调用用户参数的方式与自定义变量参数一致-------${变量}

 

如果存在多个用户,要在线程租设置多个线程

 

 

 

发起请求之后,请求会将每个用户都发起一次(线程数和用户数量相同情况下)-----(线程数>用户数:会循环发送用户,直到线程数使用完。线程数<用户数:直接消耗完线程数,此时用户是没有请求完的。)

请求用户一:

 

 

请求用户二:

 

 

请求用户三:

 

 

CSV数据文件设置:

使用用户参数时,每个用户可以取不同的数据,但是同一用户的多次循环时读取的数据是不变的。

如果 想让同一用户多次循环读取时的数据也不同,需要使用CSV数据文件设置的方式。

1、定义CSV数据文件

 

 

2、添加线程组

3、配置CSV数据文件设置

    添加位置:线程组——配置元件——CSV数据文件设置

 

 

 

参数配置:

 

 

 

 

4、添加HTTP请求 引用参数值时,使用时CSV数据文件中定义的变量名

5、查看结果树

第一行变量使用:

 

 

第二行变量使用:

 

 第三行变量使用:

 

 使用函数:

函数: 通过counter函数在生成动态变化的数值

 

 

 

 

 

在HTTP取样器中,应用counter函数生成的函数字符串,就可以读取counter函数生成的数值。

如果counter参数设置为:TRUE,则每个用户分别从1开始计算,每循环一次加1

如果counter参数设置为:FALSE,则所有用户公用一个计数器,每发送一个请求时,取值加

posted @   一影惊孤鸿  阅读(347)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示