jmeter使用Java请求二
继承 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请求二的更多相关文章
- Jmeter执行Java请求
Jmeter执行Java请求(QQ交流群:577439379) 一.打开Eclipse,创建一个Java工程 二.拷贝jmeter所依赖的jar包 将jmeter中,\lib\ext目录下的Apach ...
- 使用Jmeter测试java请求
1.性能测试过程中,有时候开发想对JAVA代码进行性能测试,Jmeter是支持对Java请求进行性能测试,但是需要自己开发.打包好要测试的代码,就能在Java请求中对该java方法进行性能测试2.本文 ...
- jmeter 的java请求代码在main方法里面执行
1.新建一个java请求执行加法类 public class TestDemo { public int Tdemo(int a,int b){ int sum = 0; sum = a+b; ret ...
- jmeter之java请求
通常情况下,推荐使用jmeter之java请求编写一beashell调用java代码(上篇)(推荐)编写Java 请求 有以下优势 脚本易维护 易调试 开发脚本周期短 不过网上扩展java请求文章比较 ...
- jmeter(二十二)jmeter测试Java请求
目的:对Java程序进行测试 目录 一.核心步骤 二.实例 三.JMeter Java Sampler介绍 四.自带Java Request Sampler 一.核心步骤 1.创建一个Java工程: ...
- jmeter 开发自己的java请求 二次开发
package test; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient. ...
- 转:JMeter进行Java 请求测试
本文转自:http://blog.csdn.net/xiazdong/article/details/7873767 向原作者致敬,看了他的文章才让我顺利解决了JMeter测试中的问题,万分感谢! 目 ...
- Jmeter自定义Java请求开发
一.本次实验目的 IDEA新建maven项目,使用java开发自定义jmeter的请求. 本次开发使用的代码,会百度云分享给大家. 二.本次实验环境 Idea 2017.02 Jmeter 5.1.1 ...
- JMeter学习(十八)JMeter测试Java(二)
实例: 服务为:将输入的两个参数通过IO存入文件: 1.打开MyEclipse,编写Java代码 服务: package test; import java.io.File; import java. ...
- 第二篇--Jmeter测试Java请求
前提:需要准备eclipse作为开发工具,安装jdk,准备完毕,接下来开工喽! 1.新建Java工程BMIrisJNIJarTest,新建lib目录,将Jmeter安装目录下lib/ext包下的Apa ...
随机推荐
- 打印出来的数据{ob: observer}、vue 中 [__ob__: Observer]问题
问题效果: 理想效果: 解决方案:JSON.parse(JSON.stringify( ob )) 首先我们要把这个数据获取原始数据 JSON.stringify([data]) 变成字符串 然后 ...
- Postgresql模板数据库之template1 和 template0
一.简介 template1和template0是PostgreSQL的模板数据库.所谓模板数据库就是创建新database时,PostgreSQL会基于模板数据库制作一份副本,其中会包含所有的数据库 ...
- ABP微服务系列学习-搭建自己的微服务结构(一)
在原本的结构里面,由于默认服务引用的都是ABP原生的模块,所以结构目录里面没有包含modules目录,这里我们添加一个modules目录,用于存放我们的自定义模块.在shared里面,我们再抽一个Ev ...
- 【Linux SPI】RFID RC522 设备驱动
一.概述 MFRC522 支持 SPI.I2C.UART 接口,我在某宝上购买了一个 SPI 接口的 RC522 模块.此笔记主要要是通过 RC522 模块学习 linux 中的 SPI 驱动,方便今 ...
- channel 死锁
死锁: - 单个协程永久阻塞 - 两个或两个以上的协程执行过程中,由于竞争资源或由于彼此通信而造成的一种阻塞的现象. channel 死锁场景: - 非缓存channel只写不读 - 非缓存chann ...
- NOIP 2022 游记
2022 NOIP (NOI Plus) 游记 Day-9 - Day-2 一句话总结,原神打的有点小多了.现在想想真的有点后悔(但也不是很手动滑稽,如果多做几个题或者把短板数论和数据结构看看也许这次 ...
- .NET控制台程序秒变asp.net core站点
有个.NET控制台程序用来跑定时任务的,但是做好后需求发生变化,跑出的数据结果不能直接使用,数据需要转成json格式通过web接口来调用实现.这个控制台是个单体程序,没有封装,如果新建一个项目的话还得 ...
- NSIS 制作漂亮的安装界面(仿QQ音乐,网易云音乐)
废话少说,先上图: 注:下面的录制的安装过程使用的安装包,均为制作的安装包,而非官方源包. QQ音乐的安装过程:
- pycharm过期解决方案
如果你的pycharm老是过期,你可以直接下载最新版本的pycharm,然后加入一个网站获取激活码即可 http://idea.medeming.com/jets/
- react修改打包后css,js,src引入的静态地址路径修改
在package.json 里边增加该配置 (当然,配置的地址可以由部署环境决定,可以是 './' , 也可以是 '../',根据需要配置即可) 查找到到"private": tr ...