JMeter每个参数化的特点,你真的知道吗?

JMeter 函数助手参数化

函数助手参数化,首先我们在开始之前的需要整理一份txt的文件,里面存放登录接口的请求参数。

在这里插入图片描述
上方文件中,我们记录了用户名,和密码,下面我们找到JMeter中的函数助手,找到CSVRead,将txt的文件路径放进去

  • 用于获取值的CSV文件 | *别名:指的是文件路径
  • CSV文件列号| next| *alias:指的是列名,如我们想要提取用户名,用户名在第一列,则输入0,下方图中我们可以看到,已经提取到用户名的数据

在这里插入图片描述

配置完成之后,我们复制生成的字符串,作为请求的参数值

在这里插入图片描述
下方我们可以看到,请求的用户名和密码参数,已经从txt文件中读取了。在这里插入图片描述
CSVRead参数化特点: CSVRead 是根据并发用户来读取数据的,跟循环次数无关。这么说可能有写抽象,下面我们来通过实验来解释CSVRead参数化的特点。

下面假设我们设置了一个并发用户数,然后循环次数设置了4次。为了方便大家查询数据,我讲登录接口的名称改成了CSV用户名参数

在这里插入图片描述
下面我们再来回顾一下我们设置的参数化数据,一共有四个用户名,分别是 admin、dev、test、pro

在这里插入图片描述
设置一个线程用户数,循环4次,我们会发现, CSVRead 会一直读取第一个用户名。

在这里插入图片描述
下面,我们将线程数改成4个,循环数改成1次,来看看请求数据

在这里插入图片描述

在这里插入图片描述
大家可以看到,当我们设置多个线程用户数时,CSVRead会依次读取文件中的数据,因此CSVRead 是根据并发用户来读取数据的,跟循环次数无关。

那么假设我们一共有四组登录数据,线程数设置4个,循环设置2次,CSVRead数据会如何进行处理呢?我们来看看下方的实战
在这里插入图片描述
我们可以看到 CSVRead 会以用户数去读取数据,并且每一组数据读取两次。
在这里插入图片描述
那么大家是否考虑过,比如我们一共就四组登录用户数据,但是线程组设置了5个用户数,CSVRead 会如何处理呢?

在这里插入图片描述
我们上方图中不难看出,当txt文件中数据不够的情况下,CSVRead 会重新从第一行读取 txt 数据。

CSV Data Set Config参数化

如果我们在实际工作中,一组数据,只想使用一次,JMeter同样也提供了方法。

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

  • 文件名:文件存放的路径
  • 文件编码:如果文件中包含中文,可以选择UTF-8
  • 变量名称:如文件中有用户名和密码等数据,我们需要给数据定义一个变量名称,名称注意需要以英文逗号的形式隔开
  • 忽略首行:此功能如像平时数据库文件中导出的数据,首行会展示列名称,通常我们用不到这个数据,可以选择忽略首行
  • 分隔符:这个场景,比如我们有个用户昵称,那么用户昵称名称为“tester,yu”,这个昵称中包含英文符号,那么程序中可能会默认tester是用户名,yu是密码,这样在请求的时候,就会出现问题,因此JMeter提供了\t制表符,如下图为例,txt文件中的数据,我们使用tab键,去分割开每组数据,这样便于我们区分每个参数。
    在这里插入图片描述

使用说明:

  1. 文件中最后一行不能有空格
    在这里插入图片描述
  2. 若要进行分布式压测,可以将参数化文件放在jmeter的bin目录下,如此则不需要为了设置参数化文件的路径而苦恼
    备注:需要将参数化文件和压测脚本(如 abc.jmx)放在同一个目录下

CSV Data Set Config,我们将线程用户数设置1个,循环4次,我们可以看到,他会依次读取txt文件中的数据,不受线程数的影响。
在这里插入图片描述

在这里插入图片描述
下面的图中,我们将线程数设置为2次,并且循环2次,同样我们可以看到,他会根据txt文件中的数据,依次读取

在这里插入图片描述
在这里插入图片描述
下面我们来思考一下,当我们线程组设置的线程数为5个时,CSV Data Set Config 是否会继续读取数据呢?

在这里插入图片描述
我们可以看到,他会重新读取第一张的数据。

那么现在是不是会有一个疑惑,工作中我们会遇到一些场景,某些数据我们只能使用一次,比如注册的账号,这个我们在参数化中如何实现呢?

下方图中,我们将遇到文件结束符时再次循环,改成False,遇到文件结束符时停止线程改成True。

在这里插入图片描述

此时我们线程数设置了10个,但是实际我们只有4组测试数据,我们来运行一下。

在这里插入图片描述
可以看到,当数据执行完成之后,Jmeter脚本会终止运行。
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七月的小尾巴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值