How to write a JMeter test for Java Request

前端 未结 3 1510
不思量自难忘°
不思量自难忘° 2020-12-09 00:11

I need to do load testing on in memory databases.

I want to use JMeter and am under the impression I need to write a class that implements JavaSamplerClient.

相关标签:
3条回答
  • 2020-12-09 00:38

    Your custom class needs either implement JavaSamplerClient or to extend AbstractSamplerClient.

    The absolute minimum is runTest() method implementation.

    I'd recommend to look into sources for existing JavaTest and SleepTest Java Request samplers:

    • /src/protocol/java/org/apache/jmeter/protocol/java/test/JavaTest.java
    • /src/protocol/java/org/apache/jmeter/protocol/java/test/SleepTest.java

    Sources are available from JMeter download page

    Or there is a couple of guides which have example of simple working Java Requests.

    See

    1. Beanshell vs JSR223 vs Java JMeter Scripting comparison benchmark - for something very basic like generating large random string
    2. WebSocket Testing With Apache JMeter - for fully functional Websocket client implementation via Java Request

    After compiling your classes package it to .jar and drop to /lib/ext folder of your JMeter installation. Your class should be available from Java Request drop down.

    Hope this helps.

    0 讨论(0)
  • 2020-12-09 00:54

    Dmitri and Imen's answers are correct.

    Here is a working example project.

    It uses Gradle and includes instructions on how to build and execute it. It should be a good reference point.

    https://github.com/dgroomes/jmeter-playground

    Also, here is the official JMeter documentation on making your custom plugin available in the JMeter tool: https://jmeter.apache.org/usermanual/get-started.html#classpath.

    0 讨论(0)
  • 2020-12-09 00:59

    To use Java Request in JMeter you must create a Java class that inherits from JavaSamplerClient. To do that, you must download two jar files and add them to classpath if you are working with Eclipse. This two jar files are ApacheJMeter_core.jar and ApacheJMeter_java.jar An your class will look like that:

    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 javaRequest extends AbstractJavaSamplerClient {
    
            @Override
            public void setupTest(JavaSamplerContext context){
            // TODO Auto-generated method stub
    
            super.setupTest(context);
            }
            @Override
            public Arguments getDefaultParameters() {
            // TODO Auto-generated method stub  
    
    
            }
            @Override
            public SampleResult runTest(JavaSamplerContext arg0) {
                // TODO Auto-generated method stub
    
                SampleResult result = new SampleResult();
    
                    boolean success = true;
    
                    result.sampleStart();
    
                    // Write your test code here.
    
                    //
    
    
                    result.sampleEnd();
    
                    result.setSuccessful(success);
    
                    return result;
    
            }
            @Override
            public void teardownTest(JavaSamplerContext context){
                // TODO Auto-generated method stub
                driver.quit();
                String verificationErrorString = verificationErrors.toString();
                if (!"".equals(verificationErrorString)) {
                    fail(verificationErrorString);
                    System.out.println(verificationErrorString); 
                }
                super.teardownTest(context);
            }
    }
    

    For more informations you can visit this link http://www.javacodegeeks.com/2012/05/apache-jmeter-load-test-whatever-you.html/comment-page-1/#comment-8288 and this page too How to use CSV Data Set with junit request test in jmeter

    0 讨论(0)
提交回复
热议问题