首先,使用Eclipse新建一个项目,然后从Jmeter的lib/ext目录下中拷贝ApacheJMeter_java.jar和ApacheJMeter_core.jar两个文件,然后引入这两个JAR包到项目中。
1、右键点击项目名>Build Path>Configure Build Path...

2、弹框选择Libraries>Add External JARs...

3、选择ApacheJMeter_java.jar和ApacheJMeter_core.jar

package com.shuzf.jmeter;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;public class Test extends AbstractJavaSamplerClient {
/*getDefaultParameters():用于设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter参数列表中setupTest():初始化方法,用于初始化性能测试时的每个线程,实际运行时每个线程仅执行一次runTest():性能测试时的线程运行体,即测试执行的循环体,根据线程数和循环次数的不同可执行多次teardownTest():测试结束方法,用于结束性能测试中的每个线程,实际运行时,每个线程仅执行一次,在测试方法运行结束后执行* */    // SampleResult类封装了从入口样本返回的各种信息private SampleResult results;private static long start = 0;   private static long end = 0; //定义参数//private String inNum;// Arguments类表示一组参数对象public Arguments getDefaultParameters() {// 声明定义Arguments类Arguments params = new Arguments();// 添加一个新参数//params.addArgument("inNum", "");return params;}// 这当前由在GUI中指定的初始化参数组成,其他数据将来可以通过JavaSamplerContext访问public void setupTest(JavaSamplerContext jsc) {// 开始时间                  start = System.currentTimeMillis(); // 以String形式获取指定参数的值,或者如果未指定该值,则返回指定的默认值//inNum = jsc.getParameter("inNum", "")
        }// 性能测试时的线程运行体,即测试执行的循环体,根据线程数和循环次数的不同可执行多次public SampleResult runTest(JavaSamplerContext arg0) {// 定义SampleResult类results = new SampleResult();// 定义一个事务,表示这是事务的起始点
            results.sampleStart();//参数处理
            results.sampleEnd();//结果输出return results;}// 测试结束方法,用于结束性能测试中的每个线程,实际运行时,每个线程仅执行一次,在测试方法运行结束后执行public void teardownTest(JavaSamplerContext arg0) {// 结束时间   end = System.currentTimeMillis();   //总体耗时   System.err.println("cost time:" + (end - start) / 1000);}//可以添加main(String[] args)方法,更直观地在本地调试无误后,再把代码移至runTest()方法内

}

然后将上面的代码打包成jar包

1、右键点击项目名>Export...

2、弹框选择java>JAR file

3、命名生成

生成jar包后,将jar包拷贝到Jmeter的lib/ext目录下

1、之后启动Jmeter,添加线程组和Java请求

转载于:https://www.cnblogs.com/shuzf/p/9914222.html

Jmeter自定义Java请求,继承AbstractJavaSamplerClient相关推荐

  1. Jmeter自定义Java请求

    一.需求背景 在日常压测过程中,有些请求逻辑比较复杂的时候,Jmeter 中自带的sample取样器不够灵活,或者性能就会比较低了,这个时候就可以自己写java代码实现自己的请求. 二.准备工作 1. ...

  2. JMeter之Java请求

    一.JMeter中Java请求是什么? Java请求属于JMeter里的取样器,简单使用跟Beanshell差不多,都能够实现运行一定的Java代码逻辑,但Java请求功能更强大. 为什么要用Java ...

  3. jmeter java性能_jmeter之自定义java请求性能测试

    写在前面 最近个人情绪不稳定.心情很不美丽,特别懒,没有博客和技术文章更新,这个文章也是迟到了一周多的时间,啰嗦完了,开始正题吧. 我们在实际做性能测试的时候,一般会采用jmeter.Lr进行测试,但 ...

  4. jmeter测试java接口测试_简单易学的测试攻略:JMeter测试Java请求示例

    JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,大家可以到官网下载源代码和查看相关文档. 关于使用JMeter进行JDBC数据库测试.HTTP请求接 ...

  5. jmeter重写java请求_jmeter之编写java请求-扩展Java Sampler

     分类: JMeter实践(19) 版权声明:本文为博主原创文章,未经博主允许不得转载. 新浪围脖>79642549 有以下优势 脚本易维护 易调试 开发脚本周期短 不过网上扩展java请求文章 ...

  6. jmeter的java请求(socket接口)

    socket简介:网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket.Socket通常用来实现客户方和服务方的连接.Socket是TCP/IP协议的一个十分流 ...

  7. jmeter发送java请求-Mysql插入操作

    代码编写粗糙,仅提供思路 一.运行效果 二.原理解释 操作环境:jmeter5.4 实现jmeter扩展需要的依赖包 jmeter\apache-jmeter-5.4\lib目录下:jorphan.j ...

  8. jmeter的java请求参数设置_Jmeter中json数据参数化、断言设置

    第一步:光标定位到测试计划上,右键菜单"添加" -> Threads(users) -> 线程组,如下图 第二步: 光标定位到线程组,右键菜单选择 "添加&q ...

  9. apachejmeter_java源码_自定义编写jmeter的Java测试代码

    我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","JavaV ...

  10. jmeter之java代码性能测试_松勤软件性能测试-自定义编写的Java测试代码在Jmeter中如何使用...

    原标题:松勤软件性能测试-自定义编写的Java测试代码在Jmeter中如何使用 我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定 ...

最新文章

  1. 【转】MySQL常用命令总结
  2. python 销量预测模型_如何做电商的销量预测模型?
  3. 4.7 参数 vs 超参数-深度学习-Stanford吴恩达教授
  4. JZOJ 3600. 【CQOI2014】通配符匹配
  5. 操作篇 了解学习NAT实验(关于静态NAT、动态NAT、EasyIP、端口映射的配置方法))
  6. nginx优化之请求直接返回json数据
  7. [css] 说下background-color:transparent和opacity:0的区别是什么?
  8. Node.js listen EADDRINUSE 错误解决 How to solve nodejs Error: listen EADDRINUSE
  9. bigdecimal正确用法_BigDecimal使用实践和注意事项
  10. python的flask服务器修改,python-Nginx,uWSGI,Flask应用程序直到服务器重启后才会显示更改...
  11. vue的main.js讲解一
  12. RTI_DDS自定义插件开发 6 监听者
  13. git教程——安装和环境配置(1)
  14. Java游戏开发中应始终坚持的10项基本原则
  15. 全国大学生软件测试大赛web应用测试,2017全国大学生软件测试大赛Web应用测试(团体)夏季预选赛入选名单...
  16. Android录制微信小视频
  17. 64位计算机很慢,Win7旗舰版64位系统电脑关机慢怎么办?
  18. 迭代瀑布不是Scrum
  19. Eclipse汉化 中文语言包下载安装 Babel Language Pack
  20. oracle dba导入,“只有DBA才能导入由其他DBA导出的文件”各种解决办法

热门文章

  1. 10慕课网《进击Node.js基础(一)》初识promise
  2. 第九课 go的循环语句
  3. react入门----事件监听
  4. [QT][待解决问题]对话框ui载入卡顿问题
  5. 关于T_SQL中声明变量类型的基础知识。
  6. 商城管理系统(前台+后台+管理员+用户+html+jsp)
  7. margin-top的兼容问题
  8. bash环境变量配置
  9. 工厂模式和抽象工厂模式
  10. sqlserver 查找某个字符在字符串中第N次出现的位置