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