2010-03-04 6 views
17

자바 서비스 호출을 테스트하고 싶습니다. 내 첫 번째 시도는 "Java Request Sampler" 다큐를 사용하는 것이었다JMeter로 Java 클래스 테스트하기

이 샘플러 당신이 JavaSamplerClient 인터페이스를 구현하는 자바 클래스를 제어 할 수 있습니다 말한다.

나는 더 메이븐 유물이나 JMeter를 측에서 제공하는 바이너리 없기 때문에 org.apache.jmeter.protocol.java.sampler.JavaSamplerClient 인터페이스를하는 방법을 모르겠어요. JMeter Maven Plugin (내가 찾고있는 플러그인이 아닙니다). 로컬 Maven 저장소에 필요한 바이너리를 설치할 수 있습니다. 사용 가능한 위치를 모르겠습니다.

"Java Request Sampler"를 사용하는 사람이 있습니까?

P. 어쩌면 나는 시도해야한다 JUnit Sampler

+3

JMeter를 받는다는 중심부에 지금 : 여기

는 자바 요청 샘플러의 일례이다. – Ardesco

답변

27

우리는 ANT로 건축 중이며 binary file from JMeter에있는 \lib\ext\에있는 JAR을 사용하고 있습니다. Java Request Sampler에 사용되는 AbstractJavaSamplerClient\lib\ext\ApacheJMeter_java.jar 파일에 있습니다. 이 추상 클래스로 작업 할 경우 \lib\ext\ApacheJMeter_core.jar이라는 JAR 파일을 가져와야합니다 (예 : 클래스 SampleResult을 보유).

Java 클래스를 빌드 한 후에 결과 JAR 파일도 \lib\ext\ 폴더에 넣습니다. 클래스에서 종속성 (세 번째 부분 JAR)을 사용하는 경우 '\ lib'폴더에 저장합니다. 그런 다음 JMeter를 시작할 수 있으며 Java 요청 샘플러에서 Java 클래스를 선택할 수 있습니다.

public class JavaRequestSamplerDemo extends AbstractJavaSamplerClient { 

    @Override 
    public SampleResult runTest(JavaSamplerContext ctx) { 
    JMeterVariables vars = JMeterContextService.getContext().getVariables(); 
    vars.put("demo", "demoVariableContent"); 

    SampleResult sampleResult = new SampleResult(); 
    sampleResult.setSuccessful(true); 
    sampleResult.setResponseCodeOK(); 
    sampleResult.setResponseMessageOK(); 
    return sampleResult; 
    } 
} 
+1

SamplerClient의 수명주기를 이해하는 것이 중요하다고 생각합니다. 각 스레드에 대해 하나의 인스턴스가 생성됩니다 (javadoc에 따라 매개 변수 이름을 가져 오기 위해 다른 인스턴스가 만들어 짐). 시험을 준비하고 해체하는 방법이 있습니다. 정말 좋은 점, 나를이 방향으로 안내해 주셔서 감사합니다. –