码迷,mamicode.com
首页 > 系统相关 > 详细

Jmeter之Bean shell使用(五)

时间:2018-11-24 14:37:08      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:arrays   string   bean   sse   后置处理器   代码   描述   art   remes   

1、在Test Plan中定义如下三个变量:

技术分享图片

2、Bean Shell可脚本如下:

  a、bean shell可以接受传入参数,如下图:${u1} ${u2} ${u3}

  b、参数可以通过bsh.args[]按顺序提取

  c、bean shell提供了一个内置变量Parameters,来保存参数的集合

技术分享图片

3、运行结果:

技术分享图片

下图中1输入的这两句设置:

ResponseCode = 500;
ResponseMessage = "This is a test";

下图中2输入的这两句设置:

log.info(Parameters);

log.info(Label);

技术分享图片

 十、提取json数据

需求:提取sample返回json数据中所有name字段值,返回的json格式如下: 

{“body”:{“apps”:[{“name”:”111”},{“name”:”222”}]}} 

jmeter中添加后置处理器BeanShell PostProcessor 

说明:脚本中的导入的json包需要自己去网络下载后放到\lib\ext,请悉知

技术分享图片 
技术分享图片

技术分享图片
import org.json.*;

String response_data = prev.getResponseDataAsString();
JSONObject data_obj = new JSONObject(response_data);
String apps_str = data_obj.get("body").get("apps").toString();
JSONArray apps_array = new JSONArray(apps_str);
String[] result = new String[apps_array.length()];
for(int i=0;i<apps_array.length();i++){
    JSONObject app_obj = new JSONObject(apps_array.get(i).toString());
    String name = app_obj.get("name").toString();
    result[i] = name;
}
vars.put("result", Arrays.toString(result));
技术分享图片

 

断言

技术分享图片

技术分享图片
import txtWrite.*;
String response_data = prev.getResponseDataAsString();
String assert_data="科目${num}";
TxtWrite writeData=new TxtWrite();
if(response_data.indexOf(assert_data)!=-1)//请求的response中有包含自定义字符,则断言结果为false
{
    Failure=false;
    String message="${__time(yyyy-MM-dd HH:mm:ss,)}   新建科目【"+assert_data+"】成功";
    FailureMessage=message;
    writeData.contentToTxt("D:/xykyInterfaceAutoTest.log",message);
    
}else
{
    Failure=true;
    String message="${__time(yyyy-MM-dd HH:mm:ss,)}   新建科目【"+assert_data+"】失败----------";
    String response="本次请求response数据:"+prev.getResponseDataAsString()+"----------";
    String need_assert="需要断言的数据:"+assert_data;
    FailureMessage=message+response+need_assert;
    writeData.contentToTxt("D:/xykyInterfaceAutoTest.log",message+response+need_assert);
}
技术分享图片

 

 
 

Jmeter之Bean shell使用(五)

标签:arrays   string   bean   sse   后置处理器   代码   描述   art   remes   

原文地址:https://www.cnblogs.com/hjianhui/p/10011561.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!