如何在jmeter中断言数字A=B+C

Jmeter有很多种断言方法,针对我们对数字A=B+C等算术的断言场景,我们介绍json assertion,response assertion和beanshell assertion的3种常见方法的使用。

场景:

用户1之前有B个license,然后用户1又购买了C个license。我们需要校验用户1购买的license数是正确的。

Json assertion方法:

  1. 在购买license之前通过用户license信息接口1获取其license的数量(即B),我们将其命名为pre_licenceQuantityPurchased
  2. 在购买license的接口2使用变量(即C)Register_Num做为传参。
  3. 购买成功后再次通过用户license信息接口1获取其license的数量(即A),我们使用json path获取其值。首先校验其json path存在,然后校验其值。在校验值的时候,使用了jmeter中的__longSum()函数。使用方法如下:${__longSum(${pre_licenceQuantityPurchased},${Register_Num})}

response assertion方法:

response assertion方法和Json assertion方法思路类似,不同的是购买后需要使用后置处理器将license数取出来并命名,然后在response assertion中选择JMeter Variable Name to use来对比${__longSum(${pre_licenceQuantityPurchased},${Register_Num})}的值是否相等。

BeanShell Assertion方法:

  1. 使用jmeter内置函数vars.get()将之前取样器的变量取出来,这里要注意变量的类型,不然脚本跑不过。
  2. 取出来的pre_num的类型是string类型,这时需要使用函数Integer.parseInt()将string类型转换成int类型,转换后做算术运算。
  3. 最后用if做判断,前后值相等,Failure赋值为false,断言通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值