注:有mysqlconnector/j 3.1.1以上版本才支持执行多条sql语句 1. 下载jdbc驱动为了连接Mysql数据库,还需要有个jdbc驱动:mysql-connector-java-5.1.41-bin.jar CSDN下载地址: https://download.csdn.net/download/glongljl/10398325 2. 添加jdbc驱动 打开JMeter,点击测试计划,点击“浏览...”按钮,将你的JDBC驱动添加进来。 3. 添加jdbc connection配置添加一个线程组,右键点击“线程组”,在下面添加一个“JDBC Connection Configuration” 来配置一下JDBCConnection Configuration页面。 Database URL为MySQL的连接串,如果要执行多条SQL语句,后面还要添加“?allowMultiQueries=true” JDBC Driver Class是本机的jdbc驱动路径。Mysql数据库,默认com.mysql.jdbc.Driver,不同数据库有不同默认值 4. 添加一个JDBC Request右键点击“线程组”,在下面添加一个“JDBCrequest” 来配置一下JDBC request页面 如果要执行多条SQL语句,Quer Type一定要选择 Callable statement,使用Callablestatement时,一次可以包含多个SQL,如上图所示。 这里需要注意的是VariableName Bound to Pool同JDBC CONNECTION的一致 · Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致 · Query:填写的sql语句未尾不要加“;” · Parameter valus:参数值 · Parameter types:参数类型,可参考:Javadoc for java.sql.Types · Variable names:保存sql语句返回结果的变量名 · Result variable name:创建一个对象变量,保存所有返回的结果 · Query timeout:查询超时时间 · Handle result set:定义如何处理由callable statements语句返回的结果 注: Variables names参数使用方法: Jmeter官网给的解释是:如果给这个参数设置了值,它会保存sql语句返回的数据和返回数据的总行数。假如,sql语句返回2行,3列,且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}...来获取相应的值 1、设置保存sql返回结果的变量 2、调用该变量方法,要在原变量的后面加“_1”之类的 5. 添加断言右键点击线程组---->添加--->断言---->响应断言。 6. 添加一个察看结果树右键点击线程组---->添加--->监听器---->察看结果树。 启动,在察看结果树检查是否操作成功 7. 常见错误1.JDBC Request报Error preloading the connection pool错误
原因: jdbcconnection配置最大链接数据太大了 修改为10问题就解决了
|