JMeter组件之BeanShell Assert的使用

背景:JMeter3.2 + fastjson-1.2.47,使用BeanShell Assert组件做断言

步骤:直接上代码

1. 场景一:比较充值前后,从数据库中查询出的值

(这里,笔者尝试了好几种方式,因为金额在代码中是用的BigDecimal类型,使用Float或者Integer,String类型都不能正确转换)

前提:在前面的请求中,已经通过BeanShell PostProcessor保存有查询的值。详见《JMeter组件之BeanShell PostProcessor的使用》

Double cash_old = Double.valueOf("${cash_old}");  

Double cash_new = Double.valueOf("${cash_new}");  

Double act = cash_new - cash_old;

Double exp = Double.valueOf("1000");  // 这里的充值金额可以设置一个变量替换固定值。

if (!act.equals(exp)){

    Failure = true;

    FailureMessage = "充值前后的差额与充值的金额不符";

}

2. 场景二:遍历正则表达式取出的列表

前提:取出来的值存在变量名为order_list中

int len = ${order_list_matchNr};  // 使用Debug Sampler可以查看正则表达式取出的值。这是列表长度,即取出的值的个数

String exp = "12345";  // 这里的期望字符串可以设置一个变量替换固定值,如${order}。

for(int i=1; i<=len; i++){

    String temp = vars.get("order_list_" + i);    // 使用Debug Sampler可以看到正则表达式取出值的规律

    if(exp.equals(temp))

        break;

    if(i == len){

        Failure = true;

        FailureMessage = "未找到订单号\"${order}\"";

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值