继承 AbstractJavaSamplerClient类来实现jar编辑

来写jmeter测试脚本

将如下两个包引入Java项目:

ApacheJMeter_core.jar

ApacheJMeter_java.jar

需要重写如下四个方法:

setupTest 启动时,需要做的处理(初始化方法,只执行一次,用于建立连接)
getDefaultParameters 传参  设置的参数会在Jmeter的参数面板上显示出来
runTest方法体 (执行N次,处理业务)
teardownTest结束时,需要做的处理  只执行一次,用于释放资源

需要一个main 方法,空内容也行

代码写好后,将代码进行打包操作,输出jar包  导入到jmeter的lib/ext下即可

demo:
package bonree.h3c;

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 TestJm extends AbstractJavaSamplerClient {
public String URL_NAME="http://www.baidu.com";
public String ss="ss";

//设置可用参数及默认值
@Override
public Arguments getDefaultParameters() {
Arguments arguments = new Arguments();
arguments.addArgument(URL_NAME,"http://ddd.com");
arguments.addArgument(ss,"sss");
return arguments;
}

//每个线程测试前执行一次,做一些初始化工作
@Override
public void setupTest(JavaSamplerContext context) {
super.setupTest(context);
}

//开始测试,从arg0参数可以获得参数值
@Override
public SampleResult runTest(JavaSamplerContext jsc) {
SampleResult results = new SampleResult();
results.sampleStart();
results.setSuccessful(true);
results.sampleEnd();

return results;
---------------其他demo:--------------------------------------------
(
SampleResult sr = new SampleResult();
try {
sendType = arg0.getParameter("sendType");
target = arg0.getParameter("target");
guid = arg0.getParameter("guid");
path = arg0.getParameter("path");
// System.out.println("sendType"+sendType);

sr.sampleStart();
if (sendType.equalsIgnoreCase("metric")){
jmeterTask.sendHttp(target, guid);
}
if (sendType.equalsIgnoreCase("grpc"))
{
jmeterTask.sendGrpc(target, guid);
}
if (sendType.equalsIgnoreCase("trace"))
{
jmeterTask.sendTrace(target, guid,path);
}

sr.setSuccessful(true);
} catch (Exception e) {
sr.setSuccessful(false);
e.printStackTrace();
} finally {
sr.sampleEnd();
}
)
-------------------------------------------------------------------
}

//测试结束时调用
@Override
public void teardownTest(JavaSamplerContext arg0) {
super.teardownTest(arg0);

}

}


jmeter使用Java请求二的更多相关文章

  1. Jmeter执行Java请求

    Jmeter执行Java请求(QQ交流群:577439379) 一.打开Eclipse,创建一个Java工程 二.拷贝jmeter所依赖的jar包 将jmeter中,\lib\ext目录下的Apach ...

  2. 使用Jmeter测试java请求

    1.性能测试过程中,有时候开发想对JAVA代码进行性能测试,Jmeter是支持对Java请求进行性能测试,但是需要自己开发.打包好要测试的代码,就能在Java请求中对该java方法进行性能测试2.本文 ...

  3. jmeter 的java请求代码在main方法里面执行

    1.新建一个java请求执行加法类 public class TestDemo { public int Tdemo(int a,int b){ int sum = 0; sum = a+b; ret ...

  4. jmeter之java请求

    通常情况下,推荐使用jmeter之java请求编写一beashell调用java代码(上篇)(推荐)编写Java 请求 有以下优势 脚本易维护 易调试 开发脚本周期短 不过网上扩展java请求文章比较 ...

  5. jmeter(二十二)jmeter测试Java请求

    目的:对Java程序进行测试 目录 一.核心步骤 二.实例 三.JMeter Java Sampler介绍 四.自带Java Request Sampler 一.核心步骤 1.创建一个Java工程: ...

  6. jmeter 开发自己的java请求 二次开发

    package test; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient. ...

  7. 转:JMeter进行Java 请求测试

    本文转自:http://blog.csdn.net/xiazdong/article/details/7873767 向原作者致敬,看了他的文章才让我顺利解决了JMeter测试中的问题,万分感谢! 目 ...

  8. Jmeter自定义Java请求开发

    一.本次实验目的 IDEA新建maven项目,使用java开发自定义jmeter的请求. 本次开发使用的代码,会百度云分享给大家. 二.本次实验环境 Idea 2017.02 Jmeter 5.1.1 ...

  9. JMeter学习(十八)JMeter测试Java(二)

    实例: 服务为:将输入的两个参数通过IO存入文件: 1.打开MyEclipse,编写Java代码 服务: package test; import java.io.File; import java. ...

  10. 第二篇--Jmeter测试Java请求

    前提:需要准备eclipse作为开发工具,安装jdk,准备完毕,接下来开工喽! 1.新建Java工程BMIrisJNIJarTest,新建lib目录,将Jmeter安装目录下lib/ext包下的Apa ...

随机推荐

  1. 打印出来的数据{ob: observer}、vue 中 [__ob__: Observer]问题

    问题效果: 理想效果: 解决方案:JSON.parse(JSON.stringify( ob )) 首先我们要把这个数据获取原始数据 JSON.stringify([data])   变成字符串 然后 ...

  2. Postgresql模板数据库之template1 和 template0

    一.简介 template1和template0是PostgreSQL的模板数据库.所谓模板数据库就是创建新database时,PostgreSQL会基于模板数据库制作一份副本,其中会包含所有的数据库 ...

  3. ABP微服务系列学习-搭建自己的微服务结构(一)

    在原本的结构里面,由于默认服务引用的都是ABP原生的模块,所以结构目录里面没有包含modules目录,这里我们添加一个modules目录,用于存放我们的自定义模块.在shared里面,我们再抽一个Ev ...

  4. 【Linux SPI】RFID RC522 设备驱动

    一.概述 MFRC522 支持 SPI.I2C.UART 接口,我在某宝上购买了一个 SPI 接口的 RC522 模块.此笔记主要要是通过 RC522 模块学习 linux 中的 SPI 驱动,方便今 ...

  5. channel 死锁

    死锁: - 单个协程永久阻塞 - 两个或两个以上的协程执行过程中,由于竞争资源或由于彼此通信而造成的一种阻塞的现象. channel 死锁场景: - 非缓存channel只写不读 - 非缓存chann ...

  6. NOIP 2022 游记

    2022 NOIP (NOI Plus) 游记 Day-9 - Day-2 一句话总结,原神打的有点小多了.现在想想真的有点后悔(但也不是很手动滑稽,如果多做几个题或者把短板数论和数据结构看看也许这次 ...

  7. .NET控制台程序秒变asp.net core站点

    有个.NET控制台程序用来跑定时任务的,但是做好后需求发生变化,跑出的数据结果不能直接使用,数据需要转成json格式通过web接口来调用实现.这个控制台是个单体程序,没有封装,如果新建一个项目的话还得 ...

  8. NSIS 制作漂亮的安装界面(仿QQ音乐,网易云音乐)

    废话少说,先上图: 注:下面的录制的安装过程使用的安装包,均为制作的安装包,而非官方源包. QQ音乐的安装过程: ​

  9. pycharm过期解决方案

    如果你的pycharm老是过期,你可以直接下载最新版本的pycharm,然后加入一个网站获取激活码即可 http://idea.medeming.com/jets/

  10. react修改打包后css,js,src引入的静态地址路径修改

    在package.json 里边增加该配置 (当然,配置的地址可以由部署环境决定,可以是 './' , 也可以是 '../',根据需要配置即可) 查找到到"private": tr ...