性能测试全栈笔记:11.Jmeter参数化-组件篇
性能测试全栈笔记
十一、Jmeter参数化-组件篇
学习目的:
- 掌握参数化的几种使用方式
- 参数化的目的
学习过程:
1.参数化第一种方式:组件法(测试计划、HTTP请求默认值、用户自定义变量)
开篇引导:脚本越来越多的时候,为了统一维护固定字段,比如:IP、端口号等,我们通常可以使用这种方法
测试计划:将IP、端口号维护到测试计划里

脚本中IP、端口号位置调用测试计划里的值,用变量的形式,IP:${ip}、端口号:${port}

运行一下脚本,没有问题:

2.HTTP请求默认值
配置元件处添加HTTP请求默认值,并维护号IP、端口号

拿登录接口测试,实际脚本中的IP和端口号留空就行,因为已经默认了:

运行一下脚本,没有问题:

这里要思考一个问题,HTTP请求默认值的作用域(范围)?
3.用户自定义变量
还是在配置元件里,添加用户自定义变量,维护号IP和端口号:

维护一下脚本,和测试计划类似,IP用${ip}表示、端口号用${port}表示:

运行一下脚本,没有问题:

细心的你肯定看到了调试取样器这个插件,解释:我们在做参数化或者关联的时候,为了直观的看到确实取到我们想要的值了,这里的值在本脚本中值得是IP和端口号,我们可以添加调试取样器,在察看结果数中就可以看到

学习了三种基本参数化形式,那么思考一下这三种基本参数化的作用域,对此进行总结:
- 测试计划:全局(全线程组),性能测试用
- HTTP请求默认值:当前线程组,手工接口常用,缺点:只能维护一条
- 用户自定义变量:全局(全线程组),性能测试常用,推荐
下一章学习:Jmeter参数化-函数助手篇