Jmeter控制器的使用
一、简单控制器
作用:分组控制请求,不改变执行顺序
创建线程组,鼠标右键点击选项添加-->逻辑控制器-->简单控制器
选中创建的简单控制器,鼠标右键点击选项添加-->取样器-->HTTP请求
填写接口请求地址信息
添加查看结果树
运行,查看请求及返回情况
鼠标右键简单控制器,弹出现象,点击禁用,控制器置灰展示,被禁用的控制器不会被执行。
二、随机控制器
作用:随机运行控制器中请求
添加随机控制器
添加控制器后新增多个请求
禁用其他控制器,使随机控制器开启状态,运行查看展示结果
第一次运行结果:
第二次运行结果:
三、随机顺序控制器
作用:该控制器下请求全部随机执行一次,不会按照顺序执行。
添加多个请求
查看运行结果展示
四、循环控制器
作用:可以填写该控制器下请求循环执行次数
添加循环控制器
输入框中输入数字,表示循环次数,如果想要一直循环,可不输入数字勾选永远
添加一个请求,设置循环5次,运行效果如图
五、仅一次控制器
作用:表示该控制器下的元件只会执行一次。(注意:如果在线程组中设置运行m个线程则会线程数量执行次数为m)
添加仅一次控制器
添加1个请求,线程数为1,运行
添加1个请求,设置线程数为7个,运行
六、switch控制器
作用:控制器中存在多个请求,指定运行某个请求时使用该控制器。
添加switch控制器
添加多个请求,并指定控制器中运行条件
运行结果展示
七、ForEach控制器与用户定义的变量
ForEach控制器作用:可以通过设置起止点循环执行取值
用户定义的变量作用:可以添加需要配置的变量
添加用户定义的变量
点击添加后输入变量名称和变量值,变量名称为什么加上下划线和数字,可查看ForEach控制器中参数配置页
添加ForEach控制器,以及请求
填写ForEach中循环条件参数
添加ForEach中执行请求,并将请求中参数进行参数化设置
运行后查看请求中参数变化,依次按照自定义名称取值,取完后停止请求。
八、事务控制器
作用:按事务控制器依次执行,保证业务场景正确性。(性能测试压测时常用)
添加事务控制器
添加多个请求,设置好排序,高并发时永远保持依次运行,不会乱序。
九、if控制器和BeanShell取样器
if控制器作用:条件控制器,可以通过某个条件来控制此节点下的元件是否运行。
BeanShell取样器作用:通过利用BeanShell取样器设置请求发送的参数。
添加BeanShell取样器,并输入脚本
添加if控制器
通过函数助手使用jexl3函数,设置判断条件,点击生成后靠背生成的函数字符串到if控制器中
(PS:jmeter5.4.1版本生成函数字符串默认置灰无法粘贴,需要修改配置或下载配置好的jar包,替换后重启即可参考https://blog.csdn.net/weixin_38078346/article/details/118612202)
将生成字符串粘贴在if控制器中,并添加请求请求,运行。
十、Runtime控制器
作用:控制子元件执行时长。
添加Runtime控制器
设置子元件执行时长为10秒
添加请求,运行
十一、while控制器
作用:条件控制器,该控制器下的元件会一直运行,直到while条件为false。
添加while控制器
添加多个控制器,并查看运行效果
当最后一个请求条件错误,控制器中添加LAST值,查看运行结果
十二、CSV文件设置
作用:便于参数化读取多个参数值,便于在高并发时需要较多参数统一管理及维护。
准备csv文件,打开office或者wps的excel操作框,新增一个空白excel,依次添加参数进,在保存时将文件另存为CSV格式。
配置CSV文件读取参数
添加请求,并设置参数化
设置线程数为3,检查运行三次请求参数化的内容是否正确读取到CSV文件内容