美文网首页
Jmeter 循环读取数据库中数据,并传递请求

Jmeter 循环读取数据库中数据,并传递请求

作者: Nikon937 | 来源:发表于2020-03-21 15:47 被阅读0次
    一、Jmeter连接数据库,下载数据库连接驱动

    MySQL数据驱动mysql jdbc驱动包百度云盘下载地址
    链接:https://pan.baidu.com/s/1uxRuyssQkJN2pIuLyO_hcg
    提取码:wt46
    下载完成,将jar包放到jmeter目录E:\apache-jmeter-4.0\apache-jmeter-4.0\lib,并重新启动Jmeter。

    image.png
    二、连接数据库,添加JDBC Connection Configuration
    配置数据库信息
    1)Variable Name不能为空,名称为与后续JDBC Request中的名称保持一致就OK(eg:mysql)
    2)DataBase URL 格式为:jdbc:mysql://服务器ip:端口号/数据库
    (eg:jdbc:mysql://47.115.157.17:3306/llb0ll_onli01)
     在数据库后加参数?allowMultiQueries=true,可同时执行多条mysql语句;否则报错
    3)JDBC Driver Class:com.mysql.jdbc.Driver
    4)输入数据库的用户名和密码
    
    image.png
    三、创建线程组,线程组下添加JDBC Request

    注意:
    1.Variable name如查询多个字段则用英文,隔开(eg:username,password)

    2.变量名“mysql”必须和JDBC Connection Configuration中的变量名保持一致 image.png
    四、添加循环控制器,通过sql查询出的结果mobile取值
    image.png

    循环次数:以mobile取值,参数化变量

    五、循环控制器下,添加计数器
    image.png
    六、计数器下添加一个请求
    image.png
    变量的嵌套${__V(mobile_${count})}的写法:
    
    通过sql查询,把满足结果的数据全部查询出来。
    ${mobile_1}就代表查询出来的列mobile的第一条数据。
    ${mobile_#}就是查询出来的mobile列的数据总数。
    而我们需要通过一个循环控制器和计数器,来读取到每一个值,作为参数传递给发送的请求。
    比如数据库中4条数据,${mobile_1}代表第1个结果,${mobile_2}代表第2个,${mobile_4}代表第4个。但是通过计数器来递增,1开始${mobile_#}(就是总数)结束逐一递增,这里的引用名为count,计数器计数到4,count就是4。
    所以在请求的时候需要写成${mobile_${count}},因为没有这种写法,所以采用拼接。
    
    嵌套拼接常用方法:可以采用函数助手V函数实现${__V{变量a_${变量b}}}
    
    image.png
    七、验证结果
    image.png

    请求通过,JDBC Requst响应产生响应数据,说明读取数据库数据成功,HTTP请求成功,说明传参正常。

    相关文章

      网友评论

          本文标题:Jmeter 循环读取数据库中数据,并传递请求

          本文链接:https://www.haomeiwen.com/subject/spbyyhtx.html