Jmeter之实现参数化的不同方式详解

28 篇文章 4 订阅
19 篇文章 0 订阅

参数化简介

定义:动态的获取、设置或生成数据,是一种由程序驱动代替人工驱动的数据设计方案,提高脚本的编写效率以及编写质量
适用场景:当提交的数据量较大时,每次修改太麻烦,可以使用参数化
本文介绍实现参数化的4种方式
1、用户定义的变量
2、CSV数据文件设置
3、用户参数
4、函数

一、用户定义变量

注意:此形式应用在一段地址重复出现时,可以定义成【用户定义变量】,方便后续随时调用。
实现参数化方式:
1、通过右键【测试计划-添加-配置元件-用户定义变量】新建用户定义变量
2、添加【变量名】和【变量值】
变量名:自定义的; 变量值:调用接口中需要被参数化的部分
在这里插入图片描述
3、在接口的http请求的路径中修改对应的变量名,调用方式,如下:

${变量名}

在这里插入图片描述

二、CSV数据文件设置

注意:实现数据脚本分离,此形式在日常使用场景中应用比较广泛
实现参数化方式:
1、创建CSV文件存储测试数据;CSV:逗号分隔符,是一种简洁且常见的数据存储格式,保存时编码格式:【utf-8】。
2、通过右键【测试计划-添加-配置元件-csv数据文件设置】
3、【CSV数据文件设置】注意事项,如下图
在这里插入图片描述
4、要执行CSV数据文件的线程组,【循环次数】要改成:永远,以便于系统可以动态的执行完所有的测试数据。
在这里插入图片描述
5、将线程中对应接口的参数设置成动态参数的形式,如下

${参数名}

三、用户参数

注意:此形式脚本和数据依赖性比较强,在日常使用场景中应用不太广泛
实现参数化方式:
1、新建用户参数:通过右键【线程/接口请求-添加-前置处理器-用户参数】
在这里插入图片描述
2、【用户参数】设置,如下图
在这里插入图片描述
3、将对应的【线程组】中的【线程数】=【用户参数】中的用户数
在这里插入图片描述
4、将线程中对应接口的参数设置成动态参数的形式,如下

${参数名}   (参数名和【用户参数】中设置的变量保持一致即可)

四、函数

线程组设置,如下图:
在这里插入图片描述

1、计数器函数:_counter

1.1.TURE:每个用户都有自己的计数器
${__counter(TURE,)}

点击菜单栏的【函数助手】选择counter,变量值=true,点击生成函数,复制生成的字符串,放在请求名称后边,执行结果会在请求名称后边动态生成数字值(每个用户有自己的计数器)
在这里插入图片描述
在这里插入图片描述
执行结果,如下图:
在这里插入图片描述

1.2.FALSE:所有用户公用一个计数器
${__counter(FALSE,)}

其他设置同TRUE,执行结果如下:
在这里插入图片描述

2、随机函数: _Random

2.1.参数1:取值范围最小值(包含)
2.2.参数2:取值范围最大值(包含)

在这里插入图片描述

${__Random(1,3,)}

执行结果,如下图:2个用户各循环3次,每次随机赋值1、2、3,
在这里插入图片描述

3、获取当前时间函数: _time

3.1.无参:获取的是距离 1970/01/01 00:00:00 的毫秒值

在这里插入图片描述

${__time(,)}

执行结果,如下图:后面生成时间戳
在这里插入图片描述

3.2.参数1:【yyy_MM_dd HH:mm:ss】 格式化成 【年_月_日 时:分:秒】 格式

在这里插入图片描述

${__time(yyy_MM_dd HH:mm:ss,)

执行结果,如下图显示:

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

沫沫18S

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

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

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

打赏作者

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

抵扣说明:

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

余额充值