必威体育Betway必威体育官网
当前位置:首页 > IT技术

Jmeter- Beanshell语法和常用内置对象

时间:2019-08-14 20:43:19来源:IT技术作者:seo实验室小编阅读:60次「手机版」
 

beanshell

1:Beanshell的基本语法

1.1:Beanshell的For循环与集合

String a = "aaa";

int b = 111;

List list  = new ArrayList();

//list集合只能保存String类型

list.add(a);

list.add(b.toString());

//普通for循环的写法

for(int i = 0; i<list.size();i++){

log.info(">>>>>>>>>>>");

log.info(list.get(i));

}

//增强for循环的写法

for(object : list){

log.info("==========");

log.info(object);

}

1.2:Beanshell的数组的写法

String[] str1 = new String[]{"aa","bb","cc"};//new一个String[]一维数组

String[][] str2 = new String[][]{{"AA","BB"},{"CC","DD"},{"EE","FF"}};

//遍历str1这个一维数组

for(int i = 0; i< str1.length ; i++){

log.info(str1[i]);

}

//遍历第二个二维数组

for (String[] strings : str2) {

for(int i = 0; i< strings.length ; i++){

log.info(strings[i]);

}

}

1.3:Beanshell定义一个函数 并调用

//定义一个方法

public void addlist(List list){

list.add("aaa");

list.add("bbb");

list.add("ccc");

}

List list = new ArrayList();

//调用方法

addlist(list);

//遍历list集合

for(int i = 0; i < list.size(); i++){

log.info(list.get(i));

}

2:Beanshell常用的内置对象

2.1:bsh.args对象获取数组参数

2.2:vars内置对象的使用

A:示例定义一个用户自定义变量

B:vars.get(String key)获取String变量 

 vars.put(String key,Value)放置一个Map到vars 

2.3:vars内置对象put和get Object对象

如果需要获取或者放置非String类型数据 需要用putObject()和getObject()

//Beanshell vars.putObject() vars.getObject()的使用

List list = new ArrayList();

list.add("aaa");

list.add("bbb");

//putObject()可以在vars对象中放置Object类型对象

vars.putObject("list",list);

//===========================

//获取Object list对象

Object Value = vars.getObject("list");

//log.info只能输出String类型变量

log.info(Value.toString());

 3:Beanshell的常用内置对象-cxt

3.1:cxt内置对象getpreviousResult()方法 调用请求/响应数据

cxt内置对象来自于JMetercontext 查看Jmeter API发现有下列get方法可以获取请求/响应数据

//SampleResult需要import对象

import org.apache.jmeter.samplers.SampleResult;

SampleResult result = ctx.getPreviousResult();

//getrequestheaders()方法返回String字符串

String RequestHeaders = result.getRequestHeaders();

//getresponseHeaders() 返回响应headers

String ResponseHeaders = result.getResponseHeaders() 

//getResponseCode() 返回响应状态码字符串

String responseCode = result.getResponseCode();

//getURL() 返回请求URL对象 

URL url = result.getURL();

log.info(RequestHeaders);

log.info(RequestHeaders);

4:prev内置对象

prev是Beanshell后置处理器的内置对象 相当于ctx.getPreviousResult();

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读