JMETER处理jdbc请求后的响应结果

    昨天同事突然问了一个问题。jmeter如果进行JDBC请求,请求后的响应结果如何给下一个请求用(也就是传说中的关联),于是研究了一下,下面将学习的成果做个记录:


1.添加 "JDBC Connection Configuration"里面用来配置一些数据库连接的信息,如图1:


2.添加一个“CSV Data Set Config”,用来在后续的JDBC请求中select语句中where条件参数化使用,图2:


3.添加JDBC请求,图3:


测试进行请求测试可以发现jdbc请求已经成果,并能在响应数据中看到返回的结果,如图4:


那么接下来的问题就来了,如果我的下一个请求,需要JDBC中的请求,那我该怎么得到JDBC中的响应数据呢?在JMETER中可以使用“正则表达式提取器”来实现,那么怎么来实现呢,需要在jdbc请求后面添加一个后置的“正则表达式提取器”(表达式中的关键部分是   ([^"]+)    ),添加的表达式如图5:



为了验证是否能正确取得jdbc中的响应结果数据,模拟添加了一个简单的http请求,如图6:


图7中的http请求的“查看结果树”中可以看到成功的取得的user_id的信息:



多说几句,如果SQL语句写成  select 'user_id='|| '"' ||  user_id ||'"'  from sys_user b where b.USER_ID='13707'的形式,则可以通过下面的正则表达式来取到user_id=后面的内容,正则表达式为:user_id="(.+?)"


总结:


1.正则表达式看来是需要好好学习一下了;

2.目前认为如果是取得jdbc的响应结果,是否通过beanshell来实现会更方便呢,可以自己写个java程序做个封装,来取得每次返回的结果。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值