美文网首页Jmeter自动化测试
用Jmeter测试Java接口

用Jmeter测试Java接口

作者: 唐T唐X | 来源:发表于2016-08-28 15:53 被阅读275次

    我们大部分人都在用Jmeter测试http接口,其实Jmeter也提供了测试Java接口的方式,现在我们就来看看是如何进行测试的。
    首先,我们写一个简单的Java工程:

    package com.xingshulin;
    public class JmeterForJava {
    public int add(int a, int b) {
    return a + b;
    }
    }
    

    接下来我们就要编写用Jmeter对这个接口进行测试的用例了。

    1. 将Jmeter的lib文件夹下(包括ext下)的jar包导入到上边的工程中去。
    2. 编写test类TestSample,继承AbstractJavaSamplerClient:
    package com.xingshulin;
    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 TestSample extends AbstractJavaSamplerClient {
    // 设置可用参数及的默认值;
    public Arguments getDefaultParameters() {
    // 获取Jmeter中传过来的参数
    Arguments params = new Arguments();
    params.addArgument("a", "");
    params.addArgument("b", "");
    return params;
    }
    // 每个线程测试前执行一次,做一些初始化工作
    public void setupTest(JavaSamplerContext arg0) {
    }
    // 测试结束时调用
    public void teardownTest(JavaSamplerContext arg0) {
    }
    // 开始测试,从arg0参数可以获得参数值
    @Override
    public SampleResult runTest(JavaSamplerContext arg0) {
    // Jmeter运行结果采集类
    SampleResult sampleR = new SampleResult();
    sampleR.setSampleLabel("JmeterForJavaTest");
    try {
    //
    int a = arg0.getIntParameter("a");
    int b = arg0.getIntParameter("b");
    // 调用待测试方法
    JmeterForJava jfj = new JmeterForJava();
    int result = jfj.add(a, b);
    // Jmeter测试后接收到的返回值
    sampleR.setResponseData(result + "");
    // Jmeter测试后得到的运行状态
    sampleR.setSuccessful(true);
    } catch (Exception e) {
    e.printStackTrace();
    sampleR.setResponseData(e.getMessage());
    sampleR.setSuccessful(false);
    }
    return sampleR;
    }
    }
    
    1. 编写完成后,将工程Export为jar包,放到$Jmeterhome/lib/ext下

    2. 打开Jmeter(如果之前已经打开需要重新打开以使jar包生效),添加线程组,添加java request:


    3. 在classname栏中找到刚刚编写的TestSample,我们能看到在代码中编写的参数部分会显示在界面上,我们可以输入相应的数值:


    4. 运行测试,在运行结果树中的Response Data里就可以获得相应的运行结果了:


    自此,就可以用Jmeter去做java接口测试啦,并且我们可以为运行结果加上相应的断言来自动化它们。

    相关文章

      网友评论

        本文标题:用Jmeter测试Java接口

        本文链接:https://www.haomeiwen.com/subject/ezotettx.html