Jmeter从数据库获取数据作为脚本参数
应用环境:linux+tomcat+mysql
在做性能测试的时候,有时候需要从数据库中获取数据,作为运行脚本的参数,使用到的方法有两种:
- 直接从数据库中导出数据到表格,在利用csv data set config 进行参数化;(适合固定的数据且数据量不大)
- 直接从数据库中获取到数据;(适合大量变动的数据)
下面讲的是第二种方法,如何从数据库中获取到数据,用来作脚本参数:
步骤一:导入mysql jar包(这个包可以从开发源代码中获取到)
步骤二:添加JDBC Connection Configuration,用来连接数据库:
- Variable Name:数据库的类型;
- MaxNumber of Connection: 数据库最大链接数;
- Max Wait(ms):连接等待时长;
- Time Between Eviction Runs(ms):连接时长;
- Auto Commet:自动提交;
- Transaction Isolation: 事务间隔级别设置;
(1)TRANSACTION_NODE 事务节点 、
(2)TRANSACTION_READ_UNCOMMITTED事务未提交读、
(3)TRANSACTION_READ_COMMITTED事务已提交读 、
(4)TRANSACTION_SERIALIZABLE事务序列化 、
(5)DEFAULT默认、
(6)TRANSACTION_REPEATABLE_READ事务重复读、
7.test while idle :连接空闲时是否从连接池中去除;
8.soft min Evictable idle time(ms):检验时间间隔;
9.Validation Query:验证查询,检验连接是否有效(不同数据库类型不同);
10.JDBCDriver Class: JDBC的类,如org.gjt.mm.mysql.Driver ;
11.Usename,password :用户名密码;
12.Database URL:数据库地址(格式:jdbc:mysql://ipaddress:3306/dbname?characterEncoding=utf-8&autoReconnect=true&rewriteBatchedStatements=true&socketTimeout=30000&connectTimeout=3000)
步骤三:添加JDBC Request,用来设置获取数据请求:
1.Variable Name:数据库的类型(如:mysql);
2.Qurry type:必填,请求类型;(查询就选择select,更新就选择update);
3.parameter values:传输给sql请求的数据;
4. parameter type:数据类型;
5.variable name:参数名称;
6.rusult variable name:查询到结果数据的表头名称;
7. handle result set:将请求结果设置为字符串、对象、或者记录;
步骤四:调用参数:
1.在脚本中使用${ variable name },即可,如${cd};