场景: 通过查询数据库, 获取多个参数, 比把这些参数循环插入数据库, 实现jmeter造数
一、数据库连接JDBC驱动下载
我用的是mysql数据库,所以安装时用的mysql-connector-java-5.1.41.zip,如果需要用别的数据库,请找跟对应数据库匹配的驱动包(不同的驱动类对应的jar不同),mysql jdbc驱动的下载解压之后,将mysql-connector-java-5.1.41-bin.jar放到apache-jmeter-3.1\lib目录下。
二、连接数据库
先连接数据库, 配置相应的url, 账号密码
三. 查询数据
如果有多个参数, 查询语句中查询出多个参数, 参数用逗号分开, 如果后面需要用到这个参数传参, 一定要选择 Prepared Select Statement
四. 添加循环控制器,
先查出需要循环的次数, 添加循环控制器, 循环次数设置为${count_1}(填写${count_#}不生效, 如果有大神知道原因, 辛苦评论区指导一下)
五. 计数器, 通过函数助手拿到参数值
函数助手对话框,选择功能函数__V,表达式中输入${role_id_${index}},点击生成函数字符串:${__V(${role_id_${index}},)} ;
六、添加http请求/jdbc请求, 传参是一样的, 我这里以插入数据库为例
传参时, 根据前面的函数助手拿到参数, 例如第一个参数传值${__V(role_id_${index},)},第二个参数'${__V(role_name_${index},)}',
注意:
如果出现报错: Can not issue data manipulation statements with executeQuery()
则JDBC Request 中需选择Update Statement
如果出现报错: Unknown column '角色' in 'field list'
则传参时需要打引号, 不然无法识别中文