0

Jmeter に Java リクエストがあり、AbstractJavaSamplerClient を拡張するコードを記述し、オーバーライドされたメソッドを実装しましたが、リモート マシンのログで応答を確認できましたが、ビューの結果ツリーで応答を確認できず、応答を jmeter のファイルに保存できません以下は runtest のコード スニペットです。Jmeter で Java リクエストの応答をキャプチャする方法を教えてください。

public SampleResult runTest(JavaSamplerContext context) {

    System.out.println("run Test method actual method is called here..");
    XCardService xcardService = null;
    String urlString = context.getParameter( "rubyURL" );
    SampleResult result = new SampleResult();
    boolean success = true;
    result.sampleStart();
    //try with Junit
    String[] rubyURL = new String[1];
    rubyURL[0] = urlString;
    try {
        System.out.println("RubyUrl::"+rubyURL);
        xcardService = XCardFactory.getService(rubyURL, 165, appPassword, 5000);
    } catch (AuthenticationFailureException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IncompatibleVersionException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ServiceUnavailableException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ServiceInitFailedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (XCardTimeoutException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InvalidURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
     DiagnosticContext dc = new ServerDiagnosticContext("Junit TestCase");
    try {
        System.out.println("xcardService::"+xcardService);
        AccountInfo account  = xcardService.getAccountInfo(dc, 1089765);
        System.out.println("getAccount Info ::"+account.toString());
    } catch (InvalidArgumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClientNotAuthenticatedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (SystemException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (XCardTimeoutException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (XCardException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    result.sampleEnd();
    result.setSuccessful(success);
    System.out.println("Response Message:::"+result.getResponseMessage());
    return result;

}
4

1 に答える 1

0

AbstractJavaSamplerClient の実装の良い例は、org.apache.jmeter.protocol.java.test.SleepTest です。

http://www.javadocexamples.com/java_source/org/apache/jmeter/protocol/java/test/SleepTest.java.html

原則として、result.sampleEnd(); を配置します。最終ブロックで。

于 2013-07-12T08:20:51.430 に答える