【发布时间】:2017-11-23 18:34:08
【问题描述】:
我想使用 Apache JMeter 提供的 API 从 Java 程序创建和运行测试脚本,以使用 Jedis 插件测试 Redis 服务器。 我有 2 段代码:创建和运行 JMeter 测试计划和一些我想要实际执行的 Jedis 命令。而且我不知道如何将它们组合在一起。请建议我如何将这些 Jedis 命令包含在 JMeter 测试计划中:
== JMeter 代码 ==
// Engine
StandardJMeterEngine jm = new StandardJMeterEngine();
// jmeter.properties
JMeterUtils.loadJMeterProperties("c:/tmp/jmeter.properties");
HashTree hashTree = new HashTree();
// HTTP Sampler
HTTPSampler httpSampler = new HTTPSampler();
httpSampler.setDomain("www.google.com");
httpSampler.setPort(80);
httpSampler.setPath("/");
httpSampler.setMethod("GET");
// Loop Controller
TestElement loopCtrl = new LoopController();
((LoopController)loopCtrl).setLoops(1);
((LoopController)loopCtrl).addTestElement(httpSampler);
((LoopController)loopCtrl).setFirst(true);
// Thread Group
SetupThreadGroup threadGroup = new SetupThreadGroup();
threadGroup.setNumThreads(1);
threadGroup.setRampUp(1);
threadGroup.setSamplerController((LoopController)loopCtrl);
// Test plan
TestPlan testPlan = new TestPlan("MY TEST PLAN");
hashTree.add("testPlan", testPlan);
hashTree.add("loopCtrl", loopCtrl);
hashTree.add("threadGroup", threadGroup);
hashTree.add("httpSampler", httpSampler);
jm.configure(hashTree);
jm.run();
==绝地密码==
private static final String LOCAL_HOST = "localhost";
private static final int PORT = 6379;
private final JedisPool m_jedisPool;
private Jedis m_jedis;
m_jedisPool = new JedisPool(new JedisPoolConfig(), LOCAL_HOST, PORT)
void test() {
m_jedis = m_jedisPool.getResource();
m_jedis.flushAll();
// Run test
Jedis jedis = getExistingJedisInstance();
jedis.set(TEST_KEY, TEST_VALUE).equals("OK");
// After test;
m_jedis.close();
m_jedisPool.destroy();
}
附:我知道 Redis Data Set 插件,但它不适合我,因为它不支持 set 命令。
【问题讨论】:
标签: java maven redis jmeter jedis