• Jmeter发送Java请求


     1、创建一个Java工程

    2、把Jmeter的libext目录下的ApacheJMeter_java.jar、ApacheJMeter_core.jar文件添加进该项目的Build Path

    3、创建一个test包

    4、创建一个Hello类

    5、Hello类代码如下:

    package test;

    public class Hello {
    public String sayHello()
    {
    return "Hello";
    }
    public int sum(int a,int b)
    {
    return a+b;
    }
    }

    6、添加类Perftest,并继承AbstractJavaSamplerClient,并添加代码如下:

    package test;

    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 test.Hello;

    public class Perftest extends AbstractJavaSamplerClient {
    private String a;
    private String b;

    private String resultData;

    // 这个方法是用来自定义java方法入参的。
    // params.addArgument("num1","");表示入参名字叫num1,默认值为空。
    // 设置可用参数及的默认值;
    public Arguments getDefaultParameters() {
    Arguments params = new Arguments();
    params.addArgument("num1", "");//未设默认值
    params.addArgument("num2", "");
    return params;
    }

    // 每个线程测试前执行一次,做一些初始化工作;
    public void setupTest(JavaSamplerContext arg0) {
    }

    // 开始测试,从arg0参数可以获得参数值;
    public SampleResult runTest(JavaSamplerContext arg0) {
    a = arg0.getParameter("num1");
    b = arg0.getParameter("num2");
    SampleResult sr = new SampleResult();
    sr.setSampleLabel("Java求两个数和");

    try {
    sr.sampleStart();// jmeter 开始统计响应时间标记
    Hello test = new Hello();
    // 通过下面的操作就可以将被测方法的响应输出到Jmeter的察看结果树中的响应数据里面了。
    resultData = String.valueOf(test.sum(Integer.parseInt(a), Integer
    .parseInt(b)));
    if (resultData != null && resultData.length() > 0) {
    sr.setResponseData("两个数相加结果是:"+resultData, null);
    sr.setDataType(SampleResult.TEXT);
    }
    System.out.println(resultData);
    sr.setSuccessful(true);
    } catch (Throwable e) {
    sr.setSuccessful(false);
    e.printStackTrace();
    } finally {
    sr.sampleEnd();// jmeter 结束统计响应时间标记
    }
    return sr;
    }

    // 测试结束时调用;
    public void teardownTest(JavaSamplerContext arg0) {
    //System.out.println(end);
    // System.out.println("The cost is"+(end-start)/1000);
    }

    }

    7、使用eclipse打成jar包,选中包名test-->Export-->选择JAR file,然后选择输入路径完成就OK了

     

    8、将此jar包放入Jmeter的libext目录下

    9、打开Jmeter创建线程组、Java Request、查看结果树(如果Jmeter已经打开,需要重新打开)

    输入测试的值

    10、执行结果

  • 相关阅读:
    TCP和UDP的区别
    DATAX 实现python调用cmd 系统控制台,实现在开发工具中内嵌datax (python 多行执行cmd命令)
    DATAX 实现java调用cmd 系统控制台,实现在开发工具中内嵌datax
    六大质量属性——可测试性代码层面描述(以“信息领域热词分析系统”为例)
    信息领域热词分析——质量属性
    DATAX 从scv到csv 从csv到mysql
    DATAX避坑点——MySQL到MYSQL,某个垃圾教程(简书)中,误导新手
    DATAX 按照官方实例 python datax.py ./stream2stream.json 乱码
    Python中plot使用方法小白的福音
    Python 最简实现逻辑回归,针对二维数据进行机器学习
  • 原文地址:https://www.cnblogs.com/xiaoxitest/p/6171379.html
Copyright © 2020-2023  润新知