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

被折叠的 条评论
为什么被折叠?



