jemter测试java类,用Jmeter测试Java接口

我们大部分人都在用Jmeter测试http接口,其实Jmeter也提供了测试Java接口的方式,现在我们就来看看是如何进行测试的。

首先,我们写一个简单的Java工程:

package com.xingshulin;

public class JmeterForJava {

public int add(int a, int b) {

return a + b;

}

}

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

将Jmeter的lib文件夹下(包括ext下)的jar包导入到上边的工程中去。

编写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;

}

}

编写完成后,将工程Export为jar包,放到$Jmeterhome/lib/ext下

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

9206790feb54

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

9206790feb54

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

9206790feb54

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值