JMeter定制Sampler

1.背景

相信你们在使用JMeter工具测试的时候,常常会遇到自带采样器没法知足测试要求的状况。面对这种状况,一般的办法是使用万能的自定义Java Request的达到测试目的。这个方法有个弊端,只要是改动了底层逻辑代码,就要从新打包,还要重启JMeter以便新字节码得以加载到JVM中。很麻烦,若是接口不少的话,能让你烦到吐血并且对于代码薄弱的人来讲,感受像是在看天书,有木有。工具

2.目的

针对以上状况,就有了定制开发Sampler的想法。你们必定要明确两点:测试

  1. 你要发的这种请求,JMeter自带采样器不能知足你测试。
  2. 这种发起交易的方式,在你从此测试过程当中常常会用。

基于以上两点,笔者才以为能够定制一个采样器,反之意义不大。(开发功底薄弱的能够“贿赂”下开发同窗,帮忙写插件。你们好才是真的好!)ui

3.思路

  • 定制开发一个Sampler大体思路以下:

image

  • 教你们一个最简单的思路,直接将JMeter的源码包反编译,找到相关采样器源码,简单的看看,就知道怎么写了。

4.实战

如何搭建插件开发环境,笔者就再也不赘述了,你们自行百度下,好比须要那些jar包,能够使用Maven形式,也能够本身将指定的包copy到本身的工程中,进行构建。spa

  • 编写两个类

image

咱们看看xxxSamplerGui类中一些重点内容:插件

image

主要方法:blog

image

直接返回采样器的名字,在GUI页面看到的采样器名就是这里定义的。接口

image

该方法建立一个新的Sampler,而后将界面中的数据设置到这个新的Sampler实例中。element

image

用于把界面的数据移到Sampler中,在调用本身的实现方法以前,调用super.configureTestElement(element),这个会帮助配置一些缺省的数据。开发

image

在重置GUI时调用,用于重置GUI界面控件中须要显示的一些缺省的值。get

再看看xxxSampler类中一些重点内容:

image

主要方法:

image

image

大体就是要编写以上内容,写的不是特别详细,其实主要就是写个思路,但愿能帮助你们(惟一的快的方法就是要本身多看JMeter底层源码,读懂源码后,写这些再写这些代码,垂手可得)。

相关文章
相关标签/搜索