Jmeter中jdbc request和foreach控制器
1. 使用variable name实现对数据库查询结果的遍历
在foreach controller中,注意要做variable name的关联(correlation), 否则没法取回这里的jdbc request返回的结果。这里的input variable prefix一定要和jdbc request中的variable name一致,否则就出不来结果。
这样,就把foreach下的jdbc request的sql语句执行结果输出了出来。
2. 使用result variable name
这里用正则提取器从jdbc request返回的result中提取想要的字段数据值。
这里for each controller中的input variable prefix还是要和前面的variable name一致。
接着就把请求的结果给了出来。
3. 使用循环控制器和variable name
这里,循环控制器里只需要设置循环的次数,并不需要做关联。
这里就输出数据库的查询结果。
4. 使用result variable name和循环控制器
由于result是数据库返回的一个数组,在使用循环控制器的时候需要借助BeanShell去逐行取出其中对应的字段的值,如:__BeanShell(vars.getObject("result").get(${n}).get("bookName"))
这里设计一个计数器,让它代表每行的行数,从1开始,get(${n})就是取第n行的数据,然后get("bookName")再取具体某个字段的值。
这里用一个用户参数来作为jdbc request的输入。
输出对应的查询结果,循环输出