目录
1、JMeter参数化
-
什么叫参数化?
- 当我们用JMeter进行接口测试的时候,要求每次的参数都不一样,或者说是动态的
-
这个时候就需要改请求参数,难道每次都手动改传入的参数?
-
所以这个时候就引入了参数化,通过技术手段来实现多次调用的时候,参数不一样
-
参数化主要有以下几种方式:
- 1)用户参数
- 适用于参数取值范围很小的时候使用
-
值不多
-
这个属于前置处理器
-
2)csv文件
- 适用于参数取值范围很大的情况了
-
此方法也更灵活
-
3)用户自定义变量
- 一般用于测试计划中不需要随请求迭代的参数设置
-
这个属于配置元件
-
4)JMeter的内置函数如随机函数
- 这种方式可以作为其他参数化方式的补充,如随机函数
-
5)测试计划也是可以加参数的
- 也是适用于参数不多的情况
- 1)用户参数
2、用户参数【User Parameters】
-
用户参数可以用来设置多组值,比如可以做那种又测正向用例的流程,也可以测反向用例的流程的场景
-
添加步骤:
- 线程组 --- > 添加 ---> 前置处理器 ---> 用户参数
- 线程组 --- > 添加 ---> 前置处理器 ---> 用户参数
-
使用
- 线程组设置的时候,需要使用多个线程
- 线程组设置的时候,需要使用多个线程
3、csv数据文件实现参数化
-
csv方式支持的文件格式:
- csv文件
-
txt文件
-
添加步骤:
- 线程组/控制器 ---> 添加 --- > 配置元件 ---> CSV Data Set Config
# csv文件用文本打开后内容如下:
xiaolongnv,123456
qiaofeng,321aaa
tianshantonglao,666777
丁春秋,xixingdafa
独孤求败,dugujiujian
-
-
使用csv的方式:
- 1)线程组里面加
-
2)使用循环控制器也是可以的。
4、用户自定义变量
-
添加 --- > 配置元件 --- > 用户定义的变量
-
用户定义的变量,可以跨线程组
-
5、JMeter里面的函数
-
各种函数,如
- uuid ${__UUID}
-
随机字符串 ${__RandomString(8,_abcdefghijklmnopqrstuvwxyz0123456789,)}
-
随机时间 ${__time(yyyy-MM-dd HH:mm:ss,)}
- ${__time(yyyy-MM-dd HH:mm:ss,test_time)
-
${test_time}, 上面一个函数会把值又存到这个test_time变量中去
-
随机数 ${__Random(100,1000,)}