Jmeter之Switch控制器、if控制器使用

Switch控制器作用:相当于开关,控制执行多个请求中的某一个

一、Switch控制器的几种使用方法

  1. 在线程组-逻辑控制器下添加Switch控制器,在Switch Value内设置0, 执行后只跑HTTP1请求,同理设置1,会跑HTTP2请求,如果设置很大值,例如999,默认只跑第一个请求
    在这里插入图片描述
    在这里插入图片描述
  2. 第二种写法:在Switch Value内设置请求接口的名称,只跑对应接口名称
    在这里插入图片描述
    在这里插入图片描述
  3. 第三种写法:在测试计划中设置变量,在Switch控制器内设置变量,也会只跑对应的请求
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

二、if控制器:可以控制多个请求时每个请求的比例

比如某个银行业务场景,存款业务约70%,取款业务约30%,那么存款接口的请求应该是总请求数的70%,取款请求是总请求数的30%

  1. 设置线程数:10
    在这里插入图片描述

  2. 在线程组内添加IF控制器:

${__jexl3(${__counter(false,)}%2!=0)}     除于2的余数不等于0执行一次-每次自增

在这里插入图片描述

  1. 第二个IF控制器 除于2的余数等于0执行一次-每次自增
${__jexl3(${__counter(false,)}%2==0)}

在这里插入图片描述

  1. 查看结果树
    在这里插入图片描述

  2. 聚合报告
    在这里插入图片描述
    跑出来的结果刚好是一半一半: 通过聚合报告查看比例是5:5

  3. 如果比例为1:2 线程数设置:15
    第一个IF控制器设置

${__jexl3(${__counter(false,)}%3!=0)}

第二个IF控制器设置

${__jexl3(${__counter(false,)}%3==0)}

再次查看
在这里插入图片描述
7. 如果比例为1:4
第一个IF控制器设置

${__jexl3(${__counter(false,)}%4!=0)}

第二个IF控制器设置

${__jexl3(${__counter(false,)}%4==0)}

在这里插入图片描述
8. 如果比例为 7:3 线程数设置100

第一个IF控制器设置

${__jexl3(${__counter(false,)}%3!=0 || ${__counter(false,)}%10==0,)}

在这里插入图片描述
第二个IF控制器设置

${__jexl3(${__counter(false,)}%3==0 && ${__counter(false,)}%10!=0,)}

查看聚合报告
在这里插入图片描述

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值