zoukankan      html  css  js  c++  java
  • Jmeter自定义Java请求,继承AbstractJavaSamplerClient

    首先,使用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请求

  • 相关阅读:
    FOC中的Clarke变换和Park变换详解(动图+推导+仿真+附件代码)
    有感FOC算法学习与实现总结
    永磁同步电机 spmsm 和 ipmsm 的区别总结
    Jekyll 解决Jekyll server本地预览文章not found的问题
    STM32 TIM 多通道互补PWM波形输出配置快速入门
    STM32 TIM1高级定时器配置快速入门
    STM32 ADC多通道规则采样和注入采样
    STM32 时钟树配置快速入门
    STM32 TIM 编码器模式采集编码器信号
    STM32 标准库V3.5启动文件startup_stm32f10xxx.s分析
  • 原文地址:https://www.cnblogs.com/shuzf/p/9914222.html
Copyright © 2011-2022 走看看