本文主要讲 Jmeter连接数据库并循环使用返回的数据进行发送请求。
测试流程
步骤1:准备含测试数据的mysql数据库
步骤2:在测试计划面板中点击【浏览】添加JDBC驱动。mysql-connector-java-5.1.37.jar
步骤3:添加线程组—>配置元件—>JDBC Connection Configuration
备注:变量名称可以自己命名
步骤4:添加采样器 线程组—>添加—>Sampler—>JDBC request
Variable Name: 数据库连接池名称,与JDBC Connection Configuration中Variable Name Bound Pool的Variable Name一致 ;
Query Type:SQL的类型,查询选择Select Statement;查询SQL需传递参数选择Prepared Select Statement;多个查询语句(不使用参数的情况下)放在一起执行选择Callable statement;
Query:SQL后不要添加分号“;” ;
Parameter valus:参数值 ;
Parameter types:参数化对应的数据类型,可参考:Javadoc for java.sql.Types
Variable names:sql语句返回结果的变量名 ;
Result variable name:创建一个对象变量,保存所有返回的结果 ;
Query timeout:查询超时时间 ;
Handle result set:定义如何处理由callable statements语句返回的结果.
步骤4:添加Debug Sampler 线程组—>Sampler—>Debug Sampler (可查看到所有的变量名称和变量值)
步骤5:获取循环次数 (循环次数可通过发送jdbc请求获取符合条件的数据的数量 使用mysql count(字段名))获取,或者直接使用Debug Sample响应返回的name_#对应的值。name为jdbc中自己设置的变量
名)
步骤5:添加循环控制器,循环次数直接引用步骤4获取的数据。
步骤5:添加计数器 右键添加—>配置元件—>计数器
从第 2 行开始取值,索引是 1,所以启动填 1,每次我们往后多 1,所以递增也填 1,最大值可不填
引用名称index 是设置的计数器的变量名,可以直接用代替数字1,2,3,......,
步骤6:利用函数助手生成HTTP请求中需要的变量函数值。 菜单栏—>选项—>函数助手,${__V(name_${index})}
步骤7:添加HTTP请求