Jmeter自定义Java请求,继承AbstractJavaSamplerClient

本文详细介绍了如何在Eclipse中创建项目并利用JMeter的lib/ext目录下的ApacheJMeter_java.jar和ApacheJMeter_core.jar两个JAR包,自定义实现JMeter的Java Sampler。通过继承AbstractJavaSamplerClient类,定义getDefaultParameters、setupTest、runTest和teardownTest等方法,实现了性能测试的参数设置、初始化、执行和清理过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,使用Eclipse新建一个项目,然后从Jmeter的lib/ext目录下中拷贝ApacheJMeter_java.jar和ApacheJMeter_core.jar两个文件,然后引入这两个JAR包到项目中。
1、右键点击项目名>Build Path>Configure Build Path...

2、弹框选择Libraries>Add External JARs...

3、选择ApacheJMeter_java.jar和ApacheJMeter_core.jar

package com.shuzf.jmeter;

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 Test extends AbstractJavaSamplerClient {
/*
    getDefaultParameters():用于设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter参数列表中
    setupTest():初始化方法,用于初始化性能测试时的每个线程,实际运行时每个线程仅执行一次
    runTest():性能测试时的线程运行体,即测试执行的循环体,根据线程数和循环次数的不同可执行多次
    teardownTest():测试结束方法,用于结束性能测试中的每个线程,实际运行时,每个线程仅执行一次,在测试方法运行结束后执行

 * */    
        // SampleResult类封装了从入口样本返回的各种信息
        private SampleResult results;
        private static long start = 0;   
        private static long end = 0; 
        //定义参数
        //private String inNum;

        // Arguments类表示一组参数对象
        public Arguments getDefaultParameters() {
            // 声明定义Arguments类
            Arguments params = new Arguments();
            // 添加一个新参数
            //params.addArgument("inNum", "");
            return params;
        }


        // 这当前由在GUI中指定的初始化参数组成,其他数据将来可以通过JavaSamplerContext访问
        public void setupTest(JavaSamplerContext jsc) {
            // 开始时间                  
            start = System.currentTimeMillis(); 
            // 以String形式获取指定参数的值,或者如果未指定该值,则返回指定的默认值
            //inNum = jsc.getParameter("inNum", "")                
        }
       
        // 性能测试时的线程运行体,即测试执行的循环体,根据线程数和循环次数的不同可执行多次
        public SampleResult runTest(JavaSamplerContext arg0) {
            // 定义SampleResult类
            results = new SampleResult();
            // 定义一个事务,表示这是事务的起始点
            results.sampleStart();
                //参数处理          
            results.sampleEnd();
                //结果输出
            return results;
        }

        // 测试结束方法,用于结束性能测试中的每个线程,实际运行时,每个线程仅执行一次,在测试方法运行结束后执行
        public void teardownTest(JavaSamplerContext arg0) {
            // 结束时间   
            end = System.currentTimeMillis();   
            //总体耗时   
            System.err.println("cost time:" + (end - start) / 1000);
        }
        
        //可以添加main(String[] args)方法,更直观地在本地调试无误后,再把代码移至runTest()方法内
        
}

 然后将上面的代码打包成jar包

1、右键点击项目名>Export...

2、弹框选择java>JAR file

3、命名生成

生成jar包后,将jar包拷贝到Jmeter的lib/ext目录下

1、之后启动Jmeter,添加线程组和Java请求

 

转载于:https://www.cnblogs.com/shuzf/p/9914222.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值