Jmeter——jmeter测试java接口

一、新建java项目
1、添加jmeter_home/lib/ext/下ApacheJMeter_core.jar,ApacheJMeter_java.jar包
选择java接口测试的时候也可以看到jmeter默认也提供2个demo方法,可以在源码进行查看
2、新建测试类实现JavaSamplerClient接口,或者继承 AbstractJavaSamplerClient接口

package com.wuxi.test;

import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;

public class JmeterTest implements JavaSamplerClient {

	private SampleResult results;
	private String a;
	private String b;
	private String c;
	
	//此方法为参数化内容,可以体现在GUI模式中,如果返回为null,则不显示
	public Arguments getDefaultParameters() {
		Arguments params = new Arguments();
		params.addArgument("First", "");//参数化名字自己定义
		params.addArgument("second", "");
		return params;
	}
    
	//每次迭代执行的内容部分
	public SampleResult runTest(JavaSamplerContext arg0) {

		results = new SampleResult();
		results.setSampleLabel("JmeterJavaTest");//查看结果树中线程名称
		
		results.sampleStart(); //事务开始,开始计算时间
		try {
			c = GetStringTest(a,b );//调用java接口
			results.setResponseData(c, null);//输出方法结果
			results.setDataType(SampleResult.TEXT);// 输出结果保存内容
			System.out.println(c);//Jmeter启动的控制台终端显示
			results.setSuccessful(true);//设置测试结果true
		} catch (Throwable e) {
			results.setSuccessful(false);//设置测试结果为false
			e.printStackTrace();
		} finally {
			results.sampleEnd(); //事务结束,计算时间
		}
		return results;
	}

	//执行初始化内容,每个线程执行一次。通常建议在该方法中获取参数值,而不是RunTest方法中使用,以便尽可能少测试开销
	public void setupTest(JavaSamplerContext arg0) {
		// TODO Auto-generated method stub
		a = arg0.getParameter("First");
		b = arg0.getParameter("second");//获取参数化内容
	}

	//在测试运行结束时进行本次测试所需的清理工作,也是一个线程执行一次
	public void teardownTest(JavaSamplerContext arg0) {
		// TODO Auto-generated method stub

	}

	public static void main(String[] args) {


	}
	
       //写一个测试方法
	public static String  GetStringTest(String a, String b) {
		
		return "____________"+a+b+"____________";
	}

}
具体参考jmeterapi官方说明: https://jmeter.apache.org/api/index.html

3、导出jar包,无需导出依赖包;如果测试类用到其他依赖包也需要一并导出,放到etx/下

二、打开jmeter
1、新建一个线程组,选择java请求
参数化的内容 根据类型填写
执行结果如下:测试成功



猜你喜欢

转载自blog.csdn.net/wx19900503/article/details/80316814