if控制

 

if控制器使用场景

测试场景中要实现3/2的的业务场景,例如:两种支付场景:线上微信,线下银联刷卡。按目前订单交易来源,微信:银联刷卡: == 3/2,所以在测试过程也是需要按业务比例来设计场景。也就是说10笔订单,微信支付6单,银联刷卡支付4单。

使用if控制器可以实现,在条件中添加判断语句,判断语句是针对if控制下的每一个测试元件,单独评估的,要求所有的请求都要发到该控制器下,判断语句才能生效,如果是同级的元件,则没有作用。

if控制

 

if控制器有两种方式:

1、不勾选“interpret condition as variable expression”

直接输入我们需要判断的表达式即可,判断表达式为真时,执行if控制器下的请求,例如“1!=2”,则一定会执行下面的http请求。

2、勾选“interpret condition as variable expression”

Expression中不能直接填写条件表达式,需要借助函数将条件表达式计算为true/false,可以借助的函数有__jexl3和__groovy函数。

 

 

 

3/2业务比例

1、使用__counter该函数可以统计执行的次数。例:在测试过程中,假设:1Vu执行1秒钟,请求成功100笔订单。结合上述3/2业务场景,要求有60%交易订单数据是微信,40%交易订单数据银联刷卡。

2、其他元件现实3/2业务比例场景方式:吞吐率控制器,方法简单更粗暴。

if控制

 

// 3的比例
${__counter(true,)}%2==1||${__counter(true,)}%10==0
// 2的比例
${__counter(true,)}%2==0&&${__counter(true,)}%10!==0

  

3/2业务比例测试结果

if控制

 

 

 

 

 

上一篇:leetcode常用函数刷题必备(一)


下一篇:jmeter系列(8)-常见函数__counter