jmeter DNS 扩展开发

jmeter DNS 扩展开发

扩展功能

支持DNS服务压力测试。支持多域名配置;支持多类型请求类型查询;支持多用户并发请求;支持DNS服务器IP和端口配置。

开发环境
64位window系统,1.8版本JDK,4.5版本eclipse开发工具.

准备环境

JDK安装
安装JDK(1.8版本),配置环境变量JAVA_HOME.进入DOS,输出java -version 检查JDK安装是否成功。
这里写图片描述

eclipse安装

安装4.5以上eclipse版本。
这里写图片描述
jmeter最新源码下载
下载地址:
http://jmeter.apache.org/

eclipse建立java project

1、打开 eclipse,新建java project.
备注:项目已经创建,提示 A project with this name already exists.

这里写图片描述

2、从文件系统导入源码到jmeter工程。
这里写图片描述
3、classpath配置。
关闭eclipse,到工程根目录下,把eclipse.classpath配置复制到.classpath配置文件中。

4、依赖包下载。
在Java项目的根目录下执行ant download_jars或者把同版本可运行的jmeter程序lib下面的文件复制到jmeter 工程目录下面的lib下面。

5、程序运行配置
打开eclipse,进入newdriver类,启动java applaction 。第一启动会失败,进行run configurations 配置 argument 的工作目录为:${workspace_loc:jmeter/bin}
这里写图片描述

6、再次启动工程可以运行OK。

这里写图片描述

DNS代码开发。

1、源文件夹建立
新建src/protocol/dns源码文件夹。
2、DNS包建立
在DNS源码文件夹分别建立org.apache.jmeter.protocol.dns.config.gui、org.apache.jmeter.protocol.dns.control.gui、org.apache.jmeter.protocol.dns.sampler用于DNS参数配置、参数下发、DNS业务实现。

这里写图片描述

3、dns gui conf 组件开发。
新建如下类:

package org.apache.jmeter.protocol.dns.config.gui;

import org.apache.jmeter.config.gui.AbstractConfigGui;
import org.apache.jmeter.testelement.TestElement;

public class DnsConfigGui extends AbstractConfigGui{

    @Override
    public String getLabelResource() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public TestElement createTestElement() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void modifyTestElement(TestElement element) {
        // TODO Auto-generated method stub

    }

}

4、dns test Sampler gui开发。

新建如下类:

package org.apache.jmeter.protocol.dns.control.gui;

import org.apache.jmeter.samplers.gui.AbstractSamplerGui;
import org.apache.jmeter.testelement.TestElement;

public class DnsTestSamplerGui extends AbstractSamplerGui{

    @Override
    public String getLabelResource() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public TestElement createTestElement() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void modifyTestElement(TestElement element) {
        // TODO Auto-generated method stub

    }

}

5、dns sampler开发。
新建如下类:

package org.apache.jmeter.protocol.dns.sampler;

import org.apache.jmeter.samplers.AbstractSampler;
import org.apache.jmeter.samplers.Entry;
import org.apache.jmeter.samplers.Interruptible;
import org.apache.jmeter.samplers.SampleResult;

public class DnsSampler extends AbstractSampler implements Interruptible{

    @Override
    public SampleResult sample(Entry e) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public boolean interrupt() {
        // TODO Auto-generated method stub
        return false;
    }

}

开发完成GUI如下:
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值