如何为Java Request编写JMeter测试

Dee*_*Dee 6 java jmeter

我需要在内存数据库中进行负载测试.

我想使用JMeter,并且我需要编写一个实现JavaSamplerClient的类.

我根本不知道从哪里开始.JMeter网站提供的功能对我帮助很小.这是我第一次做这样的事情,我已经迷失了好几天!

那么也许你可以通过解释像我的课程应该如何设置的基础知识来帮助你?我可能需要导入的软件包?因为每当我试图告诉它实现JavaSamplerClient时,我都会收到错误.

也许可以简要总结一下它是如何工作的?类似于JMeter中指定的方法运行多少次?或者这里发生了什么?

Ime*_*HOK 10

要在JMeter中使用Java Request,您必须创建一个继承自的Java类JavaSamplerClient.为此,如果您正在使用Eclipse,则必须下载两个jar文件并将它们添加到类路径中.这两个jar文件是ApacheJMeter_core.jar和ApacheJMeter_java.jar 你的类看起来像这样:

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);
        }
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,您可以访问此链接 http://www.javacodegeeks.com/2012/05/apache-jmeter-load-test-whatever-you.html/comment-page-1/#comment-8288 和此页面 如何在jmeter中使用带有junit请求测试的CSV数据集


Dmi*_*i T 8

您的自定义类需要实现JavaSamplerClient或扩展AbstractSamplerClient.

绝对最小值是runTest()方法实现.

我建议查看现有JavaTest和SleepTest Java Request采样器的来源:

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

来源可从JMeter下载页面获得

或者有一些指南,其中包含简单工作Java请求的示例.

看到

  1. Beanshell vs JSR223 vs Java JMeter Scripting比较基准 - 用于生成大型随机字符串等非常基本的东西
  2. 使用Apache JMeter进行WebSocket测试 - 通过Java Request实现全功能Websocket客户端实现

编译完类后,将其打包到.jar并放到JMeter安装的/ lib/ext文件夹中.您的类应该从Java Request下拉列表中获得.

希望这可以帮助.