·Jmeter的二次开发,常见的有以下几种类型:
·扩展、修改Jmeter已有的组件(源代码)
·扩展、修改Jmeter已有的函数。
·完全自主开发一个新的组件(依赖于Jmeter提供的框架)。

·扩展请求。
通常来说,我们都建议直接通过jmeter所提供的java测试接口来进行请求的扩展。

·准备工作:
·需要用到的jar包。
·ApacheJMeter_core.jar
·ApacheJMeter_java.jar

·需要用到的类:
AbstractJavaSamplerClient
//Jmeter提供的java请求的抽象类。需要继承该类。

Arguments
用来定义GUI界面参数的。

JavaSamplerContext
用来接收GUI界面所传递的参数值。

SampleResult
请求类,用来实现请求的开始计时、结束计时、请求数据的展示、响应数据的展示、请求结果的状态等。

·导出:
将写好的类(多个类的话就直接导出package),右键导出为jar file即可。

导出的jar包最后放在jmeter的lib\ext目录下。

·注意事项:
·一般来说,对于要扩展的请求方法,我们建议先独立打包(jar包),然后再在扩展jmeter的java请求时添加到classpath,使得可以import调用。这样最终的产出物就是分离的。
·一个是我们自己写的扩展的jmeter的jar包。
·一个就是业务请求及其依赖的jar包。

·存放位置:
·自己扩展的jmeter的jar包,最终是存放在Jmeter的lib\ext目录下。
·需要用到的业务请求及其依赖的jar包,都存放在Jmeter的lib目录下。
或者可以通过修改Jmeter的配置文件jmeter.properties来指定第三方jar包的存放目录。
user.classpath=../lib;D:/lib/jmeter/vip1

性能测试基础---jmeter二次开发的更多相关文章

  1. Jmeter二次开发——自定义函数

    在之前的博文中,Jmeter二次开发--基于Java请求,已介绍了Jmeter二次开发的基础情况,上次分享的是java请求开发,今天来分享下Jmeter中的函数开发.聊到Jmeter的函数,知道Jme ...

  2. JMeter二次开发(2)-编写 JSON Assertion 插件

    本篇文章主要介绍如何对JMeter进行二次开发,添加自己所需的功能.这里以Json验证为例进行说明.在web接口测试过程中,JSON的应用已经非常普遍,但原声的JMeter并没有提供Json及Json ...

  3. 性能测试基础---jmeter函数二次开发

    Jmeter函数的二次开发. ·什么时候需要进行jmeter的自定义函数扩展呢? 一般来说,如果我们要对数据进行处理,而jmeter没有提供相应的功能(函数),此时我们可以自己进行自定义函数的扩展. ...

  4. Jmeter二次开发——基于Java请求

    简述 这近几年,越来越多非http的协议需要进行性能测试,包括不仅限于各类rpc.mq.缓存等.对于这些协议,市面上可能没有现成的工具可以直接使用,这个时候,我们可以自己动手,通过编写相应的JavaS ...

  5. JMeter二次开发(1)-eclipse环境配置及源码编译

    1.下载src并解压 http://jmeter.apache.org/download_jmeter.cgi   2.获取所需jar包,编译 ant download_jars ant instal ...

  6. jmeter 二次开发

    基于jmeter的java请求的二次开发 常用的方法: ①.addArgument("name", "value")    定义参数 ②.sampleStart ...

  7. JMeter二次开发环境配置

    本文主要介绍如何在Eclipse中配置JMeter开发环境. 一.下载JMeter源码 1.在JMeter官网下载二进制包和源码包: 解压备用: 二进制解压后文件夹名称为“jmeter_release ...

  8. 性能测试基础---jmeter入门

    ·Jmeter入门 ·Jmeter的简介: ·Jmeter是一款基于纯JAVA语言开发的开源的性能测试工具. ·Jmeter的下载: ·最新版:http://jmeter.apache.org/dow ...

  9. Jmeter二次开发

    Jmater函数扩展的步骤1. 导入Jmeter源码,或使用maven项目,引入依赖的jar包 2. 继承AbstractFunction,实现自定义Function 3. 继承JMeterTestC ...

随机推荐

  1. web服务器获取请求客户端真实地址的方法

    服务器获取客户端或者网页的请求,获取IP时需要注意,因为一个请求到达服务器之前,一般都会经过一层或者多层代理服务器,比如反向代理服务器将http://192.168.1.10:port/ 的URL反向 ...

  2. [LeetCode] 63. Unique Paths II 不同的路径之二

    A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...

  3. spring boot开启gzip

    Web服务使用Spring Boot2X且运行在Tomcat或者Jetty中,支持gzip压缩可以 修改配置文件 application.properties server.compression.e ...

  4. 深入理解C语言 - 指针详解

    一.什么是指针 C语言里,变量存放在内存中,而内存其实就是一组有序字节组成的数组,每个字节有唯一的内存地址.CPU 通过内存寻址对存储在内存中的某个指定数据对象的地址进行定位.这里,数据对象是指存储在 ...

  5. Vue.js+vue-element

    Vue.js+vue-element搭建属于自己的后台管理模板:什么是Vue.js?(一)   Vue.js+vue-element搭建属于自己的后台管理模板:Vue.js是什么?(一) 前言 本教程 ...

  6. 固定定位导致$(window).scrollTop();获取滚动后到顶部距离总是为0

    如下移动端索引列表页面(点击某元素后弹出的页面)    我想用 $(window).scrollTop(); 获取页面滚动后距离顶部的距离,但获取到的值总是0 期间查了很久,但都无疾而终,后来看到一篇 ...

  7. elasticsearch6设置默认分片数和副本数

    elasticsearch6设置索引的默认分片数和副本数已经不是在elasticsearch.yml文件中了,而是使用了一个索引模板的东西 curl -XPUT 'http://10.27.12.16 ...

  8. json工具类(一)——alibaba包

    package com.ruoyi.common.utils.json; import java.util.HashMap; import java.util.List; import java.ut ...

  9. Java学习:常用函数接口

    常用函数接口 什么是函数式接口? 函数式接口,@FunctionalInterface,简称FI,简单的说,FI就是指仅含有一个抽象方法的接口,以@Functionalnterface标注 注意:这里 ...

  10. golang学习笔记 --flag

    概述 flag包提供了一系列解析命令行参数的功能接口 命令行语法 命令行语法主要有以下几种形式 -flag //只支持bool类型 -flag=x -flag x //只支持非bool类型 以上语法对 ...