继承 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. 好消息!微信小程序开发环境自带vConsole

    背景介绍 事情是这样子的,我们在开发小程序的时候,需要在真机上把相关的日志打出来以便进行问题定位和回溯,于是在编程界就有个今天这个新闻.------ 好消息!广东某男子发现微信小程序开发环境自带vCo ...

  2. 微信小程序与微信公众号之间支付问题解决方案

    前言 大家好,我是一名对编程有兴趣的小伙子,IT届称我为xiager,工作中叫我jake 就好了,如果此文对你有帮助希望多多关注哦. 准备 微信公众平台 微信支付平台 微信开放平台 一. 小程序    ...

  3. php 允许跨域

    1.控制器 header("Access-Control-Allow-Origin: *"); class Index extends Api {} 2.app/admin/con ...

  4. .net5 winform 打开文件夹

    直接使用System.Diagnostics.Process.Start("路径"),有可能会包拒绝访问的异常,建议采用以下写法: var  newPath="" ...

  5. Django的反向解析

    Django的请求生命周期是指用户在浏览器访问网页时,Django根据网址在路由列表里查找相应的路由,在从路由里找到视图函数或视图类进行处理,将处理结果作为相应内容返回浏览器并生成网页内容. 这个生命 ...

  6. Software_programming_tools_IDEA

    13:45:55 key promtoer 快捷键提示插件

  7. Software_C#_grammer_Deletegate--Strategy

    2018-04-30 18:59:04. 由 委托的 动态选择方法 联想到的 Strategy Pattern 一 : 策略模式 将  宿主   与  算法 分离, 算法被封装为对象, 客户端代码用 ...

  8. Cinder 对接本地LVM存储

    系统安装lvm2 yum install lvm2 1.创建 loop 设备 dd if=/dev/zero of=volume_test bs=51200 count=1M 2.挂载loop设备 l ...

  9. TypeScript - 属性的修饰符

    class Person { /** * TS 可以再属性前增加属性的修饰符 * public 修饰的属性可以再任意位置访问(修改)默认值 * private 私有属性,私有属性只能在类内部进行访问和 ...

  10. c# message (转)

    一.消息概述 Windows下应用程序的执行是通过消息驱动的.消息是整个应用程序的工作引擎,我们需要理解掌握我们使用的编程语言是如何封装消息的原理. 什么是消息(Message) 消息就是通知和命令. ...