Jmeter 后置处理器(BeanShell PostProcessor)
Posted wxstar8
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter 后置处理器(BeanShell PostProcessor)相关的知识,希望对你有一定的参考价值。
转载自:https://www.cnblogs.com/licl11092/p/6862010.html
1、新建JDBC Request,如下图所示:
重要的参数说明:Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致
Query:填写的sql语句未尾不要加“;”
Parameter valus:参数值
Parameter types:参数类型,可参考:Javadoc for java.sql.Types
Variable names:保存sql语句返回结果的变量名
Result variable name:创建一个对象变量,保存所有返回的结果
Query timeout:查询超时时间
Handle result set:定义如何处理由callable statements语句返回的结果
设置查询结果变量名称:Result variable name:user_name
2、JDBC request下添加后置处理器,BeanShell PostProcessor,通过脚本操作变量
接下来,在另一个接口中的参数可以通过jmeter的内部函数获取指定的值
$__BeanShell(vars.getObject("user_login").get($__intSum($index,-1)).get("method"))
__BeanShell是jmeter内部函数入口
vars.getObject可以获取到jmeter上下文中我们定义的变量对象
数据库的获取方式$__BeanShell(vars.getObject("param").get(n).get("colname"))
__intSum(a,b)获取一个数据的计算求和值
数据库获取第一行下标是从0开始的,但一般我们取值会默认设置1作为开始,所以这里我们做了一个处理,把我们设置的值减1,让他从0开始计数。从列取值要指定列名;
3、举例说明:
counts = vars.getObject("user_name").size();
var users = vars.getObject("user_name");
var user = users.get(2);
vars.put("username",user.get("account").toString());
vars.put("password",user.get("passwd").toString());
vars.put("hello","word");
以上是关于Jmeter 后置处理器(BeanShell PostProcessor)的主要内容,如果未能解决你的问题,请参考以下文章
Jmeter 后置处理器(BeanShell PostProcessor)