我想问一下是否有办法通过代码而不是通过GUI为JMeter创建JDBC连接配置实例。
我有以下threadGroup:
SetupThreadGroup threadGroup = new SetupThreadGroup();
threadGroup.setNumThreads(jMeterParam.getNumOfConnections());
threadGroup.setRampUp(0);
threadGroup.setDuration(7200);
JDBCSampler sampler = new JDBCSampler();
sampler.setQuery("select top 1 * from Production.ProductPhoto;");
sampler.setVariableNames("firstPrfile");
sampler.setQueryType("Select Statement");
ConstantTimer timer = new ConstantTimer();
timer.setDelay("300");
我需要创建JDBCConnectionConfiguration实例,以便在JDBC连接配置JMeter GUI中设置JMeter变量名,最大连接数,池超时和所有可用参数。
我需要编写java代码以配置测试计划并通过JMeter运行它的问题。 我已经尝试过你的建议,如下所示创建JDBC连接:
SetupThreadGroup threadGroup = new SetupThreadGroup();
threadGroup.setNumThreads(jMeterParam.getNumOfConnections());
threadGroup.setRampUp(0);
threadGroup.setDuration(7200);
DefaultPoolController defaultPoolController = new DefaultPoolController();
JdbcConnectionFactory jdbcFactory = new JdbcConnectionFactory("jdbc:sqlserver://10.10.10.171:1401;databaseName=AdventureWorks","sa","1q@W3e4r",true,"True","com.microsoft.sqlserver.jdbc.SQLServerDriver");
JdbcConnectionPool jdbcConnPool= new JdbcConnectionPool(jdbcFactory,defaultPoolController,0,10,true);
JDBCSampler sampler = new JDBCSampler();
sampler.setQuery("select top 1 * from Production.ProductPhoto;");
sampler.setVariableNames("firstPrfile");
sampler.setQueryType("Select Statement");
ConstantTimer timer = new ConstantTimer();
timer.setDelay("300");
sampler.addTestElement(timer);
// Test plan
TestPlan testPlan = new TestPlan("MY TEST PLAN");
hashTree.add("testPlan", testPlan);
hashTree.add("threadGroup", threadGroup);
hashTree.add("JDBC Connection Configuration", jdbcConnPool);
hashTree.add("sampler", sampler);
jm.configure(hashTree);
jm.run();
运行WARN MSG时显示: 1)“为bean类org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler加载bean信息时发生了一些不好的事情” 2)没找到“..... ApacheJMeter.jar / commons-io-2.2.jar / etc ....
你知道如何解决它吗?
非常感谢, Khilo
答案 0 :(得分:0)
我个人通过JMeter GUI创建测试,不直接使用JMeter API。但考虑到您的问题,我认为您可以创建JDBC连接并执行所需的查询,而无需实例化JDBC sampler。或者您可以在其正文中创建BSF采样器并设置连接和查询。我做了第二种方式(虽然我使用了GUI):创建了BSF Sampler,连接到DB并执行查询,然后使用Groovy操作数据。