首页 > 系统服务 > 详细

Jmeter之BeansShell之处理逻辑关系

时间:2020-02-21 01:43:11      阅读:51      评论:0      收藏:0      [点我收藏+]

前言

需求:

1、调用商品接口获取sku信息

2、判断库存,如果库存大于500,调用buy接口购买10个商品,否则购买1个商品 

一:添加商品http请求,参数id的值调用函数助手进行参数化

技术分享图片

技术分享图片

二:添加后置处理器-JSON提取器或正则表达式提取器(这里使用JSON提取器)提取商品接口返回结果stock的动态值,保存的变量名为myStock

技术分享图片

三:添加购买http请求,写入正确的接口地址和参数,添加后置处理器-BeanShell PreProcessor,写入以下代码

// 获取json提取器保存下来的Stock值
String myStock = vars.get("myStock");
// 转换为int 
int iStock = Integer.parseInt(myStock);
// 判断库存 
if (iStock > 500){ 
    // 如果>500,定义一个变量buyNum=10
    vars.put("buyNum","10");
}else{
     //否则变量buyNum=1
    vars.put("buyNum","1"); 
}

技术分享图片

四:因为定义变量为buyNum,所以购买接口的参数num的值为${buyNum}

技术分享图片

五:因为商品接口的返回结果stock的值是动态的,所以要线程组属性需要设置多次循环,方面更好的看到效果,这里设置了10次循环

技术分享图片

最后,添加后置处理器-Debug sampler 和察看结果树,点击运行,可以看到结果:当myStock>500时,buyNum=10,也就是库存大于500,购买10个商品;

当myStock<500时,buyNum=1,也就是库存小于500,就购买1个商品

技术分享图片

 

 技术分享图片

Jmeter之BeansShell之处理逻辑关系

原文:https://www.cnblogs.com/zhangwuxuan/p/12337902.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!