Jmeter Sampler (取样器插件开发) 制定自己的 Sampler

本文介绍如何开发JMeter的Sampler插件,包括实现AbstractSamplerGui类创建GUI,设计DemoParamConfigGui初始化面板,编写Sampler执行类,以及将插件集成到JMeter中。通过自定义Sampler,可以满足特定接口测试的需求。

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

目录

前言:

1. 首先第一个做一个测试的 GUI,要实现 AbstractSamplerGui 类做才能被 Jmeter 加载

2.DemoParamConfigGui 类,这个类主要是初始化面板信息,和修改信息用的,我简单列几行代码,下面给最终的截图,这里可以根据自己的要求更改

3.Sampler 相关的类

4.具体 sampler 执行类,具体的协议请求发起客户端要你自己定义了,集成到 Jar 包里就行,所有的类编写完成打 JAR 包扔到 Jmeter/lib/ext 下*

5.演示


前言:

JMeterSampler 是 JMeter 中的一个核心组件,它用于定义测试计划中的每个采样点。JMeterSampler 可以用于测试 HTTP、HTTPS、FTP 等协议的接口。但是,JMeterSampler 提供的功能有限,无法满足我们的个性化需求。因此,我们可以通过开发自己的 JMeterSampler 插件来制定自己的采样器。

1. 首先第一个做一个测试的 GUI,要实现 AbstractSamplerGui 类做才能被 Jmeter 加载


public class DemoSampleGui extends AbstractSamplerGui implements ItemListener {
    private DemoParamConfigGui demoParamConfigGui;

    public DemoSampleGui() {    //构造方法初始化
          init();
      }
  /**
     * @Descrition初始化
    * */
    private void init() {
        setLayout(new BorderLayout(0, 5));
        setBorder(makeBorder());
        add(makeTitlePanel(), BorderLayout.NORTH);            //设置布局

        demoParamConfigGui = new DemoParamConfigGui();   //这里是另外一个面板类,抽出去了,一会单独说
        add(demoParamConfigGui, BorderLayout.CENTER);
    }
    /**
     * @Descrition清除页面数据信息
    * */
     @Override                           
      public void clearGui() {
        super.clearGui();
        demoParamConfigGui.clear();
    }
 /**
     * @Descrition:配置组装元素信息
    * */
     @Override                           
    public void configure(TestElement element) {
        super.configure(element);
        final MySamplerSamplerBase samplerBase = (MySamplerSamplerBase) element;
        safParamConfigGui.configure(element);
    }

   /**
     * @Descrition:创建新的元素
    * */
    @Override
    public TestElement createTestElement() {
        MySamplerSamplerBase sampler = new MySamplerSamplerBase();
        modifyTestElement(sampler);
        return sampler;
    }
    /**
     * @Descrition:清除旧的组件,从新创建
    * */
    @Override
    public void modifyTestElement(TestElement sampler) {
        sampler.clear();
        safParamConfigGui.modifyTestElement(sampler);
        this.configureTestElement(sampler);
    }
   /**
     * @Descrition:label信息,也就是创建HTTP请求、JAVA请求
    * */
    @Override
    public String getLabelResource() {
        return "mySampler_title"; 
    }
}

Label 那个由于 Jmeter 实现国际化,所以在配置文件里,通过 mySampler_title 去资源文件里面找的,如果我们想添加自己的需要修改 CORE 里面的配置文件,增加自己对应的 UICODE 编码


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值