Jmeter 是一款简单的性能测试工具,以前都是用来测试 API 接口,没试过测试 Java 程序,这是一个例子。
Jmeter 使用,可参考 Jmeter 使用入门。
java request 测试
使用 jmeter 测试 java 程序,需要结合 jemter_java 编写测试代码。
- 创建 maven 工程
 pmx.xml
 ```xml
 <?xml version=”1.0” encoding=”UTF-8”?>
 <project xmlns=”http://maven.apache.org/POM/4.0.0“xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">4.0.0 
 com.rolex.jmeter 
 java-request-sample 
 1.0-SNAPSHOT 
 <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.6</source> <target>1.6</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>attached</goal> </goals> </execution> </executions> </plugin> </plugins> <resources> <resource> <targetPath>libs/</targetPath> <directory>libs/</directory> <includes> <include>**/certNoToMd5.jar</include> <include>**/Lite-20111106.jar</include> <include>**/quantum-auth-1.0-SNAPSHOT.jar</include> </includes> </resource> </resources>
 
 com.rolex.jmeter.test 
 jmeter-test 
 1.0.0 
 system 
 ${project.basedir}/libs/certNoToMd5.jar 
 
 
 
 org.apache.jmeter 
 ApacheJMeter_core 
 3.0 
 
 
 
 org.apache.jmeter 
 ApacheJMeter_java 
 3.0 
 
 
```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;
import com.seeks.support.lxcernointerface.LxcernoClientUtils;
public class JavaRequest extends AbstractJavaSamplerClient {
    SampleResult result;
    String param;
    @Override
    public void setupTest(JavaSamplerContext context) {
        result = new SampleResult();
        super.setupTest(context);
    }
    @Override
    public Arguments getDefaultParameters() {
        Arguments params = new Arguments();
        params.addArgument("arg1", "0");
        return params;
    }
    @Override
    public SampleResult runTest(JavaSamplerContext arg0) {
        boolean success = true;
        result.sampleStart();
        param = arg0.getParameter("arg1");
        try {
            // do some test
        } catch (Exception e) {
            e.printStackTrace();
            success = false;
        } finally {
            result.sampleEnd();
            result.setSuccessful(success);
        }
        return result;
    }
    @Override
    public void teardownTest(JavaSamplerContext context) {
        super.teardownTest(context);
    }
}

