JMeter连接数据库(查询出的数据作为参数)

针对Mysql

jdbc:mysql://ip:3306/数据库名?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true(mysql用utf8,其他数据库用utf-8)

allowMultiQueries=true指的是支持多行查询

但是查询出来的结果这样只会显示一条,而且是第一条的结果被显示,那要怎么解决呢?(实际上是两条都执行了,只是Jmeter没显示,可以用两条insert语句去验证)

Query Type:选择Callable Statement,调取数据存储

 二、查询的值作为参数

 可以查看下查出来的结果集:

 那么,怎么把这些值取出来呢???

1、假设只要一个值,那么直接取好了,比如:${bug_status_1}就好了

2、如果要批量取值怎么办???依次取出来

此处的结束值可以试试填写:${bug_status_#}

这里不要误解了,没找到好的截图,参数应该换为${temp}

 2方式:计数器

那么请求里面应该怎么写呢???不能变量里加变量吧,用函数助手来解决,这里我们可以用:

${__V(bug_status_${tmpid},)}

bug_status_1是数据库查出来的,作为参数的参数名,tmpid是计数器用来替代那个1的参数。

 

但是这样,只能在线程组内加循环或者线程组,才能执行多次,这样数据库的查询请求也会多次,解决方案:把查询请求放进一个吞吐量控制器:

或者,把这个请求放进一个仅一次控制器内

结果:

 

posted @ 2018-11-12 23:13  小文叔  阅读(455)  评论(0编辑  收藏  举报