jmeter DNS 扩展开发

xiaoxiao2021-02-28  17

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如下:

转载请注明原文地址: https://www.6miu.com/read-250346.html

最新回复(0)