Sample

这里我用到主要JMeter的线程和报表,扩展了他的“Java请求”这个应用类别。要扩展此应用,要用到lib/ext/ApacheJMeter_java.jar,他封装此应用。

首先,需要继承ApacheJMeter_java.jar中的抽象类AbstractJavaSamplerClient,它提供了四个抽象方法: void setupTest(JavaSamplerContext arg0),SampleResult runTest(JavaSamplerContext arg0), void teardownTest(JavaSamplerContext arg0), Arguments getDefaultParameters()。setupTest和teardownTest与JUnit中的类似,分别在测试的开始和结束时执行。

runTest为主要测试方法,所有测试程序都在这里完成,JavaSamplerContext参数封装测试中需要的所有外界数据(如配置信息等)。其 SampleResult封装了所有测试结果(如:测试是否成功?程序执行时间等),getDefaultParameters用于把测试的一些默认数据在程序运行前显示到JMeter客户端,这个可以和runTest配合使用,实现数据的呈现和配置。

下面为程序:

import org.apache.jmeter.config.Arguments;

import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;

import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;

import org.apache.jmeter.samplers.SampleResult;

import com.ebupt.wv.client.WVClient;

public class Login2 extends AbstractJavaSamplerClient {

private static String label = "userLogin"

private String name;

private String address;

public void setupTest(JavaSamplerContext arg0) {

System.out.println("setupTest");

}

public SampleResult runTest(JavaSamplerContext arg0) {

name = arg0.getParameter("name");

address = arg0.getParameter("address");

SampleResult sr;

sr = new SampleResult();

sr.setSampleLabel(label);

try{

sr.sampleStart(); //记录程序执行时间,以及执行结果 sr.setSuccessful(true); System.out.println("send over!");

}catch(Throwable e){

sr.setSuccessful(false); }finally{

sr.sampleEnd(); }

return sr;

}

public void teardownTest(JavaSamplerContext arg0) {

}

public Arguments getDefaultParameters() {

Arguments params = new Arguments();

params.addArgument("name", "JMeter");

params.addArgument("address", "localhost");

return params;

}

}

其次,把写好的应用打包,放到lib/ext下,JMeter运行时即可找到。同时还要把用户自己编写的应用所依赖的包放在lib下。运行JMeter。界面打开后,右键“测试计划”,添加线程组;右键“线程组”-添加-Sampler-Java请求,在类名称处选择刚才写好的类。

如图:

这里,可以同时添加多个线程组、多个java请求、同时可以添加监听器用于输出不同的的测试结果图形、报表,各个请求之间可以用逻辑控制器进行执行流程的控制。如图:

最后,点击运行-启动,保存相应的项目,即可开始运行。运行时的数据,可以通过监听器写入文件以便需要时生成报表。

jmeter java接口,jmeter并发测试java接口 | 学步园相关推荐

  1. Java接口多线程并发测试 (一)

    本文为作者原创,禁止转载,违者必究法律责任!!! 本文为作者原创,禁止转载,违者必究法律责任!!! Java接口多线程并发测试 一,首先写一个接口post 请求代码: import org.apach ...

  2. 使用JMeter进行接口高并发测试

    一般的网络接口测试,功能性测试postman较为好用,需要测试高并发的情况下,可以用Jmeter来进行测试,postman是串行,而Jmeter可以多线程并行测试. 官网 Apache JMeter ...

  3. JMeter入门 | 第一个并发测试

    JMeter入门 | 第一个并发测试 背景 近期我们组新来了一些新同事,之前从来没有用过JMeter做个并发测试,于是准备了一系列小教程去指引新同事,本章主要是新人入门体验教程,快速实现第一个接口并发 ...

  4. java 接口初始化_Java类的初始化 | 学步园

    类的初始化时机1.创建类的实例 2.访问类或接口的静态变量(static final常量除外,static final变量可以)3.调用类的静态方法 4.反射(Class.forName(packag ...

  5. 使用JMeter对网站进行并发测试

    1.右击"测试计划"添加"线程组",并单击新添加的"线程组"设置并发执行次数 2.右击刚才创建的"线程组"添加" ...

  6. Jmeter详细使用教程,Jmeter压测,并发测试

    Jmeter下载 官方下载路径:  @官方网址 jmeter3.1有道云安装包: http://note.youdao.com/noteshare?id=c35870 a98a89676ba95397 ...

  7. 接口要怎么测试?接口自动化可以怎么做?

    接口测试分为分为单接口测试和多接口业务串联测试, 接口测试本质是测试接口传入正确的或错误的参数,服务端的处理逻辑是否正确. 1. 其中单接口测试分为业务等价类测试.参数规则边界测试和安全测试三个维度: ...

  8. java treetable_在Swing中创建TreeTable | 学步园

    TreeTable是Tree和Table的一个结合- 就是一个即能够展开和收起行,同时也能够显示多个列的组件.在Swing的标准包里没有一个叫做JtreeTable的组件,但是我们很容易通过把Jtre ...

  9. java的graphics2d_Java Graphics2D 使用详解 | 学步园

    正如我们在前面提到的,我们可以对Graphics2D类进行多项设置.实际上,渲染引擎在绘制Graphics2D图形前会查看 7个主要的属性: Paint Stroke Font Transformat ...

  10. java gnu_GNU/Linux下Java开发环境的安装和配置 | 学步园

    首先下载JDK,在http://www.oracle.com/technetwork/java/javase/downloads/index.html下载最新版本的JDK,选择平台为linux,就会得 ...

最新文章

  1. 四旋翼姿态解算——梯度下降法理论推导
  2. 乘法器的verilog实现(并行、移位相加、查找表)
  3. Ubuntu Server中怎样卸载keepalived
  4. Get JSON with the jQuery getJSON Method
  5. 漫步数学分析番外二(上)
  6. Asp.net MVC 示例项目Suteki.Shop分析之---Model和Service
  7. Java键盘录入 Scanner
  8. Windows Tips
  9. [原创]使用 Google Chart 在线服务实现软件版本发布时间线图
  10. Trie(字典)树详解
  11. 深度学习TF—9.循环神经网络RNN及其变体GRU、LSTM
  12. 使用css让文字两端对齐
  13. 通过PS制作逼真的车窗玻璃雨滴效果
  14. 短除法对一个数分解质因数
  15. JAVA版AES加解密工具类(含偏移量)
  16. Linux内核地址空间分布
  17. 数学建模竞赛基础知识
  18. Python解释器的下载与安装教程(Win11)
  19. HTML中边框的设置
  20. 新观影神器(安卓、iOS端)

热门文章

  1. SOLIDWORKS——参数化建模
  2. linux 扩充db2表空间,如何扩充db2的表空间、加容器等表空间维护操作
  3. 计算机意外重启或遇错误无法继续,计算机意外地重新启动或遇到错误如何解决?...
  4. ibm服务器和微软,微软与IBM不得不说的事情
  5. WPF 窗体边框处理
  6. 不能读取文件“itunes.library.itl”因为它是由更高级别的itunes所创建的
  7. license文件生成原理
  8. uva10891Game of sum
  9. ExtJs4 笔记 Ext.tab.Panel 选项卡
  10. (转)android技巧01:Preferencescreen中利用intent跳转activity