性能测试基础---jmeter二次开发
·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二次开发的更多相关文章
- Jmeter二次开发——自定义函数
在之前的博文中,Jmeter二次开发--基于Java请求,已介绍了Jmeter二次开发的基础情况,上次分享的是java请求开发,今天来分享下Jmeter中的函数开发.聊到Jmeter的函数,知道Jme ...
- JMeter二次开发(2)-编写 JSON Assertion 插件
本篇文章主要介绍如何对JMeter进行二次开发,添加自己所需的功能.这里以Json验证为例进行说明.在web接口测试过程中,JSON的应用已经非常普遍,但原声的JMeter并没有提供Json及Json ...
- 性能测试基础---jmeter函数二次开发
Jmeter函数的二次开发. ·什么时候需要进行jmeter的自定义函数扩展呢? 一般来说,如果我们要对数据进行处理,而jmeter没有提供相应的功能(函数),此时我们可以自己进行自定义函数的扩展. ...
- Jmeter二次开发——基于Java请求
简述 这近几年,越来越多非http的协议需要进行性能测试,包括不仅限于各类rpc.mq.缓存等.对于这些协议,市面上可能没有现成的工具可以直接使用,这个时候,我们可以自己动手,通过编写相应的JavaS ...
- JMeter二次开发(1)-eclipse环境配置及源码编译
1.下载src并解压 http://jmeter.apache.org/download_jmeter.cgi 2.获取所需jar包,编译 ant download_jars ant instal ...
- jmeter 二次开发
基于jmeter的java请求的二次开发 常用的方法: ①.addArgument("name", "value") 定义参数 ②.sampleStart ...
- JMeter二次开发环境配置
本文主要介绍如何在Eclipse中配置JMeter开发环境. 一.下载JMeter源码 1.在JMeter官网下载二进制包和源码包: 解压备用: 二进制解压后文件夹名称为“jmeter_release ...
- 性能测试基础---jmeter入门
·Jmeter入门 ·Jmeter的简介: ·Jmeter是一款基于纯JAVA语言开发的开源的性能测试工具. ·Jmeter的下载: ·最新版:http://jmeter.apache.org/dow ...
- Jmeter二次开发
Jmater函数扩展的步骤1. 导入Jmeter源码,或使用maven项目,引入依赖的jar包 2. 继承AbstractFunction,实现自定义Function 3. 继承JMeterTestC ...
随机推荐
- [LeetCode] 374. Guess Number Higher or Lower 猜数字大小
We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to gues ...
- [LeetCode] 179. Largest Number 最大组合数
Given a list of non negative integers, arrange them such that they form the largest number. Example ...
- CPU、内存、磁盘的瓶颈(转载文)
1.如何判断CPU.内存.磁盘的瓶颈? CPU瓶颈1) 查看CPU利用率.建议CPU指标如下 a) User Time:65%-70% b) System Time:30%-35% c) Idle:0 ...
- 小程序根据数字做for循环
笔记:小程序根据具体一个数值做for循环 n为想循环的次数 <view wx:for="{{n - 0}}"> <text>{{index}}</te ...
- 逆天的化妆CSS
初涉前端之CSS 1.css介绍 CSS是前端在HTML之前所走的后续工作,CSS的学名叫做层叠样式,他是用来定义如何来显示我们写的HTML元素的:当一个浏览器读取到了一个样式表,他就会按照这个样 ...
- gulp的初阶使用方法(转)
安装好gulp之后接下来就是使用了,此文主要介绍一些前端开发时常用的一些插件及其用法 http://www.imooc.com/article/tag/26/hot/12插件安装 安装本地服务器插件: ...
- FutureTask源码
FutureTask可用于异步获取执行结果或取消执行任务的场景.通过传入Runnable或者Callable的任务给FutureTask,直接调用其run方法或者放入线程池执行,之后可以在外部通过Fu ...
- Thread.currentThread().setContextClassLoader为什么不生效与java.lang.NoClassDefFoundError之Java类加载的Parent first Classloader
众所周知,Java的类加载机制采用了双亲委派模型,导致在进行类加载的时候会有多个加载器,这种复杂的机制,有时候会导致‘Exception in thread main java.lang.NoClas ...
- ArrayList 源码分析 基于jdk1.8:
1:数据结构: transient Object[] elementData; //说明内部维护的数据结构是一个Object[] 数组 成员属性: private static final int ...
- Mysql 问题集
[1]实现如下需求 需求: 实现方案: (1)复现场景 SQL语句: -- [1]删除表 DROP TABLE tbl_name; -- [2]创建表 )); INSERT INTO tbl_name ...