参数化是自动化测试脚本的一种常用技巧。简单来说,参数化的一般用法就是将脚本中的某些输入使用参数来代替,在脚本运行时指定参数的取值范围和规则;这样,脚本在运行时就可以根据需要选取不同的参数值作为输入。这种方式通常被称为数据驱动测试(Data Driven Test),参数的取值范围被称为数据池(Data Pool)。
Jmeter参数化的方式有三种
1.用户定义的变量
这种就是为了方便管理参数,只能有一个值,比如说ip地址不经常变化的
2.函数生成器
函数生成器可以参照一定的规则生成数据,这样的比如说生成一些随机数
3.从文件读取
文件读取就是事先写好一些数据,然后从文件中读取,这样的话,比如说登录接口,账号和密码都是我们事先注册好的。
首先新建一个测试脚本,通过badboy录制或者自己手动填写都可以
一.参数化--用户定义的变量
在线程组中添加一个用户定义的变量,然后写key和value就可以了,key就是这个参数的名称,也就是你在脚本里面取的值。value就是具体值了。在取参数化值的时候,使用${host}这样去取值,host就是你取的变量名称。
二.参数化--函数生成器
函数助手的话,可以按照规则生成一些参数,比如说随机数取当前时间,最常用的就是这两种。
随机数_Random,可以在你指定的一个范围内取随机值
取当前时间_time,如果在有一些需要传时间的情况下可以使用,日期格式是:yyyy-MM-dd HH:mm:ss 年-月-日 小时:分钟:秒
取唯一id,_UUID,这个就是每次回生成一个随机的uuid,都是唯一的
三.参数化--从文件中读取
从文件读取的话,三个步骤
1.读取文件
2.取文件里面的参数,给他一个名字
3.使用值
从文件读取需要在线程组里面添加一个CSV Date Set Config
Recycle on EOF:是否循环读取文件内容,默认为True。当线程组的线程数*循环次数 > 文件中参数行数,才需要将此值设置为True。
Stop thread on EOF:当读取到参数文件末尾,是否停止线程读取,默认值未False。当Recycle on EOF设置为True,此设置不起任何作用,当且仅当Recycle on EOF为false时,此配置项才生效。若Stop thread on EOF为false,读取到文件末尾会继续读取,但是会请求报错,此时读取的数据为EOF。