从一个简单的例子开始学习jmeter源码
文章目录
Jmeter的整体代码结构可参考官网wiki( http://wiki.apache.org/jmeter/DeveloperManual/DirStructure )。
总体代码量不是算小,如何阅读是一个问题,反复思量,决定从一个最简单的例子入手。
一个性能测试的实例至至少应包含多线程执行一项测试任务和收集汇总测试结果这两部分。首先抛开对多线程和测试结果的注意力,我们先构建一个最简的测试任务。
jmeter除了支持HTTP、FTP之类的应用协议外,还可以自己编写java代码作为测试项,这样,我们可以抛开各种繁文缛节的协议,看到最简单的东西。
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
public class DemoJavaTest extends AbstractJavaSamplerClient {
@Override
public SampleResult runTest(JavaSamplerContext context) {
SampleResult sr = new SampleResult();
sr.sampleStart();
try {
// 做想做的事情
sr.setSuccessful(true);
} catch (Exception e) {
sr.setSuccessful(false);
}
sr.sampleEnd();
return sr;
}
}