本章重点是需要搞清楚“用户定义变量”和“用户参数”的作用区间
在性能测试中需要使用多用户并发,那么就需要用到请求参数化
这个多用户我们应该理解为多线程,而不是多账号
参数化:就是把固定死的参数设置为变量
在jmeter中,参数值的参数化方式常见的有三种这里先介绍2种:用户定义变量和用户参数,属性暂不介绍
用户定义变量:他是一个配置元件,执行优先级最高,
用户定义变量:类似于全局变量(可以跨线程组被引用),在整个jmeter中,都可以被使用,但是,它只是在启动的时候会获取一次值,在运行过程中,不会动态获取值。(Python中可以通过global关键词修改)
这个配置元件中的用户定义变量和测试计划中的用户定义的变量是同一个东西
![](https://i-blog.csdnimg.cn/blog_migrate/1d9f623ab4d3d7f840239859541d291c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/85f868a46894bc2e5230b16289f76fa5.png)
变量调用方式:"${变量名}" --{"name":"${name}","mobile":"${phone}","password":"abc12345"}
用户参数:他是前置处理器,在取样器执行之前被执行
它是局部变量(不支持跨线程组引用:要想把用户参数的值 跨线程组使用 可以用属性),在jmeter启动运行时,用它就会获取值,在运行过程中,也会动态获取值
每次迭代更新一次选项(接口依赖会用到这个功能):
![](https://i-blog.csdnimg.cn/blog_migrate/26d9f28afe3ded24c17536945ec283ab.png)
迭代:指的是 所有的接口完成一次是一个迭代
![](https://i-blog.csdnimg.cn/blog_migrate/0e9c8a265d195ece6c7935bd825be80e.png)
循环:指的事情某一件事情重复做N次
![](https://i-blog.csdnimg.cn/blog_migrate/5bf9174172a7ac4290aabe3f89ab912b.png)
调用结果展示:
{"name":"${name}","mobile":"${phone}","password":"abc12345","age":"${age}岁"}
![](https://i-blog.csdnimg.cn/blog_migrate/90455aa17d10bd310c946f9984d434b9.png)
函数(和java,python中的方法是同一个东西)
![](https://i-blog.csdnimg.cn/blog_migrate/dc17bbee1b00e90ce480215154c558ee.png)
3.1,4.1案例 ↓
![](https://i-blog.csdnimg.cn/blog_migrate/f44e3ee3841b5658f6bbb4025d80587a.png)