jmeter读取数据库和文件方法

本文介绍了如何在JMeter中读取CSV数据,包括使用CSV Data Set Config和函数助手__CSVRead。同时,详细阐述了通过JDBC Request从数据库获取数据的方法,并展示了如何利用BeanShell PostProcessor和ForEach Controller进行数据遍历。这种方法避免了手动查询数据库和导出CSV文件的步骤。

----------------------------------------------------------------------------------------------------------------------------------

1.通过csv data set config这种方式,最常用,网上例子很多。

----------------------------------------------------------------------------------------------------------------------------------

2.通过函数助手__CSVRead获取的,这种方式存在中文乱码问题,本人未解决。这里想讲的是循环获取方法:

  ${__CSVRead(C:\url_check_sz.csv,0)}  --读取文本第一列的值

  ${__CSVRead(C:\url_check_sz.csv,1)}${__CSVRead(C:\url_check_sz.csv,next)} --读取第二列的值,并把行标移动到下一行。在循环控制器里面可以实现循环读取。

----------------------------------------------------------------------------------------------------------------------------------

3.数据库查询得到的值,做为后面请求的参数。

    第一种:JDBC Request的Result variable name设置为res。

 

 

  新建BeanShell PostProcessor,代码如下:        

   

   第二种:JDBC Request的Variable names设置为func_name,func_url

variables names设置为A,,C,那么如下变量会被设置为:

  A_#=2 (总行数)
  A_1=第1列, 第1行
  A_2=第1列, 第2行 
  C_#=2 (总行数) 
  C_1=第3列, 第1行
  C_2=第3列, 第2行

    • 如果返回结果为0,那么A_#和C_#会被设置为0,其它变量不会设置值。
    • 如果第一次返回6行数据,第二次只返回3行数据,那么第一次那多的3行数据变量会被清除。
    • 可以使用${A_#}、${A_1}...来获取相应的值

 

   下面我要遍历从数据库查询出来的菜单,数据库选取以上方式任选一种,然后添加用ForEach控制器,输入变量前缀:func_url,  输出变量名称:func_url。

再添加http请求,名称是${__V(func_name_${__counter(false)})},路径是${func_url}。

执行结果如下:

----------------------------------------------------------------------------------------------------------------------------------

 

完美解决,这样就不用手动去数据库查询菜单,导出cvs文件了。整个过程只需要在jmeter中实现

 

 

   

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值