Jmeter入门基础


元件的基本介绍

元件:多个类似功能组件的容器(类似于类)。
常见的元件类型有:
1.取样器
2.逻辑控制器
3.前置处理器
4.后置处理器
5.断言
6.定时器
7.测试片段
8.配置元件
9.监听器
组件:实现独立的某个功能(类似于方法)
在这里插入图片描述
在这里插入图片描述

元件作用域

在JMeter中,元件的作用域是靠测试计划的树形结构中元件的父子关系来确定的。
提示:核心是取样器,其他组件都是以取样器为核心运行的,组件添加的位置不同,生效的取样器也不同。
作用域的原则

  1. 取样器:元件不和其他元件相互作用,因此不存在作用域的问题;
  2. 逻辑控制器:元件只对其子节点中的取样器和逻辑控制器作用;
  3. 其他六大元件:除取样器和逻辑控制器元件外,如果是某个取样器的子节点,则该元件对其父子节点起作用;
  4. 如果其父节点不是取样器,则其作用域是该元件父节点下的其他所有后代节点(包括子节点,子节点的子节点等) ;

作用域的原理:
按照jmeter测试计划的树形结构来定义作用域(有点儿类型python的缩进)

JMeter第一个案例

使用JMeter访问百度首页接口,并查看请求和响应信息
1.启动JMeter
2.在’测试计划’下添加“线程组’
3.在‘线程组’下添加‘HTTP请求’取样器
4.填写‘HTTP请求’的相关请求数据
5.在‘线程组’下添加‘察看结果树’监听器
6.点击‘启动’按钮运行,并查看结果

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

线程组的特点

●模拟多人操作
●线程组可以添加多个,多个线程组可以并行或串行
●取样器(请求)和逻辑控制器必须依赖线程组才能使用
●线程组下可以添加其他元件下组件
在这里插入图片描述
线程组分类
●线程组
普通的、常用的线程组,可以看做一个虚拟用户组
●setUp线程组
一种特殊类型的线程组,可用于执行预测试操作
●tearDown线 程组
一种特殊类型的线程组,可用于执行测试后工作

线程组的分类:

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

线程组的属性:
线程数:需要模拟的虚拟用户数。
ramp-up time:模拟的虚拟用户数全部启动所需要的时间。
●目的:为了模拟性能测试的场景,更接近用户的使用习惯(用户慢慢接入系统)

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

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

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

HTTP协议

在这里插入图片描述
在这里插入图片描述
示例:未输入HTTP协议、端口号
在这里插入图片描述
发送请求时:
●协议未填写,则默认为HTTP协议
●端口未填写,则默认为80端口
●将GET请求参数放在路径中填写

Get请求

发送请求时:
●协议选择HTTPS,
●端口号为443
●将GET请求参数放在下面的参数列表中进行填写
在这里插入图片描述

Post请求

发送请求时:
●方法选择POST
●将参数内容放入到消息体数据中,在发送时参数会添加到消息体中
发送
在这里插入图片描述

在这里插入图片描述
察看结果树:
新增线程组,添加HTTP请求,未填协议及端口
察看结果树:
在这里插入图片描述

JMeter参数化

JMeter参数化常用方式

●用户定义的变量
●用户参数
●CSV Data Set Config
●函数

用户定义的变量

添加方式“”测试计划–>线程组–>配置元件–>用户定义的变量

  1. 场景
    ●请求:https://www baidu.com:443
    ●要求:使用用户定义的变量配置被测系统的协议、域名和端口
  2. 操作步骤
    1.添加线程组
    2.添加用户定义的变量
    3.添加HTTP请求
    4.添加察看结果树

配置方法
●添加路径:测试计划–线程组–配置元件–用户定义的变量
●参数设置
参数名:参数值
在HTTP取样器中应用: ${参数名}

(1)在元件中配置
在这里插入图片描述
在这里插入图片描述
记得把路径加上,再运行:
在这里插入图片描述
(2)在测试计划中配置
在这里插入图片描述
在这里插入图片描述

用户参数

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

添加方式:测试计划–>线程组–>前置处理器–>用户参数
场景:
●请求: https://www.baidu.com
●要求:第一次请求附带参数: name=“张三”&age=28;第二次请求附带参数: name=“李四”&age=30
在这里插入图片描述

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

CSV数据文件设置

添加方式:测试计划–>线程组–>配置元件–> CSV数据文件设置
场景:
●请求: https://www .baidu.com
●要求:循环3次,每次请求时附带参数username,password,code的值不相同

操作步骤:
1.定义CSV数据文件
2.添加线程组
3.添加CSV数据文件设置
4.添加HTTP请求
5.添加察看结果树
在这里插入图片描述

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

函数(__counter)

计数函数,一般做执行次数统计使用;
位置:在菜单中选择–>选项–>函数助手对话框
函数助手
(1)设置为True的时候:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)设置为false的时候:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在HTTP取样器中,应用counter函数生成的函数字符串,就可以读取counter函数生成的数值。
●如果counter参数设置为: TRUE,则每个用户分别从1开始计算,每循环一次加1
●如果counter参数设置为: FALSE, 则所有用户公用一个计数器,每发送一个请求时,取值加1

解决Jmeter响应出现乱码的问题

修改配置文件jmeter.properties (bin目录下)中的内容:
在这里插入图片描述

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter中,可以使用消息变量来参数化请求的内容。根据引用和引用提供的信息,你可以按照以下步骤来编写JMeter消息变量: 1. 首先,在你的测试计划中添加一个CSV Data Set Config元件。这个元件用来从.csv或.dat文件中获取数据,并将其作为参数化变量使用。 2. 在CSV Data Set Config的配置中,填写文件名参数,即.csv或.dat文件的路径或文件名。确保文件编码与文件格式保持一致,如果有中文,最好使用UTF-8编码。 3. 在Variable names参数中,填写参数的名称,如果有多个参数,使用逗号进行分隔。 4. 设置Delimiter参数为相应文件中的分隔符,如果是CSV文件,可以使用逗号或制表符进行分隔。 5. 如果获取的数据中包含引号,需要将Allow quoted data参数设置为True。 6. 根据你的需求,可以将Recycle on EOF参数设置为True以循环使用数据,或设置为False以在读取完所有记录后停止运行。 7. Sharing Mode参数用于设置变量的共享模式,可以选择将数据在所有线程或线程组之间共享,或者让每个线程独立获取数据。 根据以上步骤,你可以正确地编写JMeter消息变量,以实现对请求内容的参数化。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [jmeter 性能测试json参数化讲解](https://blog.csdn.net/qq_42412061/article/details/122260472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [jmeter 变量的使用](https://blog.csdn.net/bakun9625/article/details/101581934)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值