继承 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. Prometheus安装部署(主体)

    Prometheus安装部署 一,下载安装包并解压 下载地址:https://github.com/prometheus/prometheus/releases 因为服务器上下载速度太慢,所以可以提前 ...

  2. VueRouter 报错:inject() can only be used inside setup() or functional components

    单独创建的一个文件,封装了登录函数的业务逻辑,出现了一个警告,紧接着就是报错:说不能读取到路由的 push 函数.路由必须在组件里面使用,不能在 ts 或 js 文件中使用. 还要注意的点是,在使用路 ...

  3. 数据结构和算法day1(Java)

    1.什么是数据结构? 数据结构就是把数据元素按照一定的关系组织起来的集合,用来组织和存储数据. 1.2.数据结构的分类: 逻辑结构 和物理结构 逻辑结构: 集合结构(无关系).线性结构(一对一).树形 ...

  4. Vue scoped样式

    scoped样式: 作用:让样式在局部生效,防止冲突 写法:<style scoped>

  5. VUE环境运行搭建

    第一步:下载安装node.js 1.下载node.js,vue的运行是要依赖于node的npm的管理工具来实现,所以第一步我们需要安装 Node.js,访问官网 https://nodejs.org/ ...

  6. JS下载单个图片、单个视频;批量下载图片,批量下载视频

    下载单张图片 import JSZip from "jszip"; import FileSaver from "file-saver"; downloadIa ...

  7. C++程序设计实验三 类和对象Ⅱ

    动态int型数组类Vector_int的定义实现源码(vector_int.hpp) #include <iostream> #include <cassert> using ...

  8. C++ MFC学习 (六)

    由于微软在VS2013 及之后不建议再使用 C/C++ 的传统库函数 scanf,strcpy,sprintf 等,所以直接使用这些库函数会提示 C4996 错误 VS建议采用带 _S的函数,如: s ...

  9. [Unity]利用Mesh绘制简单的可被遮挡,可以探测的攻击指示器

    最近做一个小游戏的Demo,最终的效果是这样的 主要是利用Mesh绘制三角形作为显示,然后使用后处理来制作探灯,注意,性能一般,仅仅适合小游戏 分为3步 1:利用mesh绘制三角形,原理很简单,利用三 ...

  10. elementui树状结构添加右键点击事件

    <el-tree :highlight-current="highlight" :data="folderList" :props="defau ...