Jmeter BeanShell笔记

前言:beanshell是支持java语法的,因此当一些复杂的数据结构jmeter处理不了的时候,我们可以借助于java来实现

1,使用beanshell处理JDBC请求返回的值

数据库结构

当JDBC的请求如图所示的时,则

  col_#=2 (总行数)
  col_1=第1列, 第1行
  col_2=第1列, 第2行
  

如果sql语句 变成了SELECT id,name from stu_sex,Variable names被设置成了:col1,col2,那么

  col1_#=2 (总行数)       col2_#=2 (总行数)
  col1_1=第1列, 第1行    col2_1=第2列, 第1行
  col1_2=第1列, 第2行    col2_2=第2列, 第2行

取值的方式使用${col1_#},${col1_1}...${col2_2}

 

当JDBC的请求如图所示的时,则此时返回的是一个List<Map>

这个时候进行数据的处理可以借助于bean shell

//单只取值
System.out.println(vars.getObject("col").get(0).get("列名"));//列名为id的第一行的值
System.out.println(vars.getObject("col").get(1).get("列名"));//列名为id的第一行的值
//对结果进行遍历
//方法1
ArrayList arrayList=vars.getObject("col");
for(HashMap table:arrayList)
{
    for(Object obj:table.keySet())
    {
        System.out.println(obj+"-->"+table.get(obj));
    }
}

//方法2
for(int i=0;i<arrayList.size();i++)
{
    System.out.println(result.get(i).get("列名"));
}

 

posted @ 2016-07-31 19:20  苦逼IT男  阅读(507)  评论(1编辑  收藏  举报