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

参数化简介

定义:动态的获取、设置或生成数据,是一种由程序驱动代替人工驱动的数据设计方案,提高脚本的编写效率以及编写质量
适用场景:当提交的数据量较大时,每次修改太麻烦,可以使用参数化
本文介绍实现参数化的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,)

执行结果,如下图显示:

猜你喜欢

转载自blog.csdn.net/weixin_37600187/article/details/128955871