Jmeter示例参数化


1.Jmeter第一个案例

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

操作步骤

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

在这里插入图片描述

2.重点组件

线程组

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

1.添加线程组

位置;右键点击测试计划–>添加–>线程(用户)–>线程组
在这里插入图片描述

2.线程组的特点
  • 模拟多人操作
  • 线程组可以添加多个,多个线程组可以并行或串行
  • 取样器(请求)和逻辑控制器必须依赖线程组才能使用
  • 线程组下可以添加其他元件下的组件
3.线程组的分类
  • 线程组:普通的,常用的线程组,可以看做一个虚拟用户组,线程组中的每一个线程都可以理解为一个虚拟用户
  • setUp 线程组:一种特殊类型的线程组,可以执行预测试操作
  • tearDown线程组:一种特殊类型线程组,可用于执行测试后工作
4.线程组参数详解

在这里插入图片描述

在取样器执行错误后要执行的动作
  • 继续:如果取样器里的执行出现错误失败的时候,请求不会停止,继续执行
  • 启动下一个进程循环:忽略错误,线程当前循环错误,执行下一个循环
  • 停止线程:只限当前线程停止,不影响其他线程执行
  • 停止测试:当前执行的线程全部执行完毕后结束
  • 立即停止测试:立刻停止
线程属性
  • 线程数:虚拟用户数
  • Ramp-Up 时间(秒):启动全部虚拟用户数所需要的时间
  • 循环次数:指定次数或勾选永远
  • 延迟创建线程直到需要:测试开始的时候,所有线程都被创建完,勾了此选项,那么线程只会在合适的需要用到的时候创建
  • 调度器:勾选后,调度器配置才能使用
调度器配置
  • 持续时间:设置脚本压测持续时间
  • 启动延迟:启动延迟时间
5.http请求

在这里插入图片描述
位置:选中线程组–>右键–>添加–>取样器–>http请求(作用:向服务器发送http 及 https 请求)

  • 协议:向目标服务器发送http 请求时的协议,可以是http 也可以是https
  • 端口号:目标服务器的端口号,默认为80
  • 方法:发送http请求的方法,可用的方法包括GET,POST,HEAD,PUT,OPTIONS 等
  • 路径:目标url 路径(不包括服务器路径和端口)
  • Content encoding :内容的编码方式:默认为iso8859
  • 同请求一起发送参数:get 请求时url 中附带参数可以通过此方式添加
  • 消息体数据:POST/PUT 请求JSON数据存放地
6.查看结果树

在这里插入图片描述
位置:选中测试计划/线程组–>右键–>添加–>监听器–>查看结果树 (作用:查看请求和响应结果)

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

3.Jmeter 参数化

1.用户定义的变量

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

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

用户定义的变量:
在这里插入图片描述
http 请求设置
参数化格式${参数名}
在这里插入图片描述
运行结果
在这里插入图片描述

2.CSV数据文件设置

添加方式:测试计划–>线程组–>配置元件–>CSV数据文件设置

场景
  • 请求:https://www.baidu.com
  • 要求:循环三次,每次请求时附带参数username,password,code 的值不相同
操作步骤
  1. 定义CSV数据文件
  2. 添加线程组
  3. 添加CSV数据文件设置
  4. 添加HTTP请求
  5. 添加查看结果树

定义CSV 文件
在这里插入图片描述
http请求设置
在这里插入图片描述

参数详解(CSV数据文件设置)
  • 文件名:CSV 文件路径
  • 文件编码:文件编译字符编码,一般设置UTF-8
  • 变量名称,多个变量时,使用英文逗号分隔
  • 忽略首行:True为忽略,False为不忽略,默认值为False
  • 分隔符:如文件中使用的是逗号分割,则添逗号,如果使用的是制表符号,则添\t
  • 是否允许带引号:CSV文件中的内容是否允许带引号
  • 遇到文件结束符再次循环:当读取文件到结尾时,是否再从头读取文件,False=当读取文件到结尾时,停止读取文件
  • 遇到文件结束符停止线程:当“遇到文件结束符再次循环”一项为False时起效;True:当读取文件到结尾时,停止进程
  • 线程共享模式:共享模式一般默认即可
    • 所有线程:该文件在所有线程之间共享,所有线程循环取值,线程一取第一行,线程二取下一行
    • 当前线程组:各个线程组分别循环取值
    • 当前线程:每个文件分别为每个线程打开

3.函数(_counter)

计数函数,一般做执行次数统计使用
位置:工具 -->函数对话框
在这里插入图片描述

参数设置

TRUE, 每个用户有自己的计数器,FALSE,使用全局计数器
存储结果的变量名(可选)

参数化调用

在这里插入图片描述

运行结果

在这里插入图片描述

CSV 和用户定义的变量作用域问题

CSV 的作用域是针对线程的,只有两种情况:

  • 对所有线程中的线程生效
    父节点是测试计划,并且线程共享模式是“所有线程”时,对所有线程组中的线程生效

  • 对当前线程组中的线程生效
    父节点是某个线程组时,只会对当前线程组生效

用户定义的变量作用域是针对测试计划
无论用户定义的变量组件放在哪里,他都会对整个测试计划生效

  • 20
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值