jmeter 自定义java请求(dobbo等微服务协议)

MS1030超声波流量计电路实战:如何用15ps精度优化水表设计(附配置代码) 本文深入探讨了如何利用MS1030超声波流量计芯片实现15ps高精度测量,以优化水表设计。文章从系统误差分配出发,详细解析了硬件电路设计要点、SPI通信配置及核心优化技巧,如利用可编程偏置电压和8回波累加功能来提升抗干扰能力与测量稳定性,并附有实用的配置代码示例。 阅读详情

AbstractJavaSamplerClient介绍

AbstractJavaSamplerClient是org.apache.jmeter.protocol.java.sampler包下的抽象类。需要引用的jar包在jmeter插件包目录(apache-jmeter-5.1.1\lib\ext)下,jar包名称是ApacheJMeter_java.jar。实现了JavaSamplerClient接口,接口中只有runTest()方法没有实现,所以AbstractJavaSamplerClient的子类必须要实现这个方法。

public interface JavaSamplerClient {
    void setupTest(JavaSamplerContext var1);

    SampleResult runTest(JavaSamplerContext var1);

    void teardownTest(JavaSamplerContext var1);

    Arguments getDefaultParameters();
}

java请求实现

第一步:引用jmeter jar包(ApacheJMeter_java.jar、ApacheJMeter_core.jar),位置在apache-jmeter-5.1.1\lib\ext目录下

第二步:新建一个java类继承AbstractJavaSamplerClient
示例:

public class DubboRequest extends AbstractJavaSamplerClient

第三步:实现runTest方法

 public SampleResult runTest(JavaSamplerContext javaSamplerContext) {
        SampleResult sampleResult = new SampleResult();
        Long code = javaSamplerContext.getLongParameter("code");
        String response = this.getAdd(code);//封装了通过公司的微服务协议获取广告
        sampleResult.setSuccessful(true);
        sampleResult.setResponseMessageOK();
        sampleResult.setResponseData(response,"UTF-8");
        return sampleResult;
    }

这个方法中调用具体的java请求,getAdd(code)方法是我封装的微服务方法,具体实现我就不展示了,你这边调用你们的微服务接口就行

第四步:实例化SampleResult ,设置请求在jmeter接口响应信息。SampleResult 是提供取样器返回值设置方法的类
常用方法:

sampleResult.setSuccessful(true);//设置SampleResult对象的成功状态
sampleResult.setResponseMessageOK();//设置响应代码ok,例如http 的200状态码
sampleResult.setResponseData(response,"UTF-8");//设置返回结果和编码方式

第五步:设置jmeter GUI界面上参数值
getDefaultParameters方法返回对象Arguments 是jmeter GUI界面上参数值对象,通过addArgument方法设置界面展示的参数变量,我这边设置了code变量,赋了一个默认值

public Arguments getDefaultParameters(){
      Arguments arg = new Arguments();
       arg.addArgument("code","100000");
       return arg;
   }

第六步:runTest方法中通过javaSamplerContext获取参数值

Long code = javaSamplerContext.getLongParameter("code");

生成插件包(打成jar包)

1、maven工程打包带上依赖包,在pom文件中增加如下配置

  <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <!-- 此处指定main方法入口的class -->
                            <mainClass>入口类全类名</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>assembly</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

2、生成的jar包拷贝到apache-jmeter-5.1.1\lib\ext目录下

jmeter配置

1、jmeter 线程组上添加取样器中的java请求
在这里插入图片描述
2、类名称:选择你重写的java请求类,下方展示需要配置的参数

3、执行测试,查看结果,可以看见编码方式是我设置的UTF-8,Response message :OK, Response code:没有设置 空值,具体的响应接口查看响应数据
在这里插入图片描述
在这里插入图片描述
4、如果执行过程没有达到预期结果,查看jmeter的bin目录jmeter.log,应该是报错了

最后jmeter更多内容查看jmeter文档,目录如下
D:\opensource\apache-jmeter-5.1.1\docs\api

PSI5协议技术文档与驱动开发指南 • 供电与数据复用:ECU通过双绞线为传感器提供稳压(典型值5V-11V),同时检测线路电流变化实现数据传输。• 同步信号:ECU发送3.5V电压脉冲(上升沿触发传感器响应),用于时序同步。• 安全气囊:PSI5-P模式实现多碰撞传感器同步采样(响应时间<10ms)• CRC-3(3位):ASIL-B以上功能安全要求(如动力总成传感器)• 奇偶校验(1位):适用于低安全等级场景(如PSI5-P10P模式)• 典型应用:PSI5-P(并行总线)、PSI5-U(通用总线) 阅读详情

相关推荐

c语言【分糖果】2023蓝桥杯4124(枚举,递归,dfs)

但是这是不符合我们糖果刚好分完的条件的,我们应该往回退到上一层,也就是孩子6这层,然后j+1=3,孩子7分到3个第二种糖果,这也不符合我们糖果刚好分完的条件,然后就会再次回退到孩子6这里,然后j+1=4,让我们的孩子7获得5块第二种糖果,然后还是不符合糖果刚分完的条件,于是再一次退回到孩子6这里,然后就会有外循环i+1=1,j=1,孩子7分到1块第一种糖果1块第二块糖果......然后就是这样的不停地回溯,试探,直到把整棵树遍历一遍,并且记录所有的满足条件的组合。先放一下我的代码,我的代码超时啦救命!

weixin_74331419的博客 730

【Jmeter】Jmeter使用AbstractJavaSamplerClient编写自定义流程测试

一、前言 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在上一篇博客中,小编向大家简单介绍了jmeter 的GUI界面的压测使用步骤,通过这个步骤我们可以应付大部分的压测问题了。很多接口都可以通过这种方式来得到压测报告,根据压测报告的数据来分析线上真正要使用多少台机器。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;但是有的时候,我们需要多个接口......

哈士奇 8797

麒麟V10等保三级配置实战:从auditd规则到PAM锁定的可信基线构建

Linux安全基线是信息系统可信运行的基础能力,其核心在于身份鉴别、访问控制与安全审计三大机制的协同落地。在国产化信创环境中,麒麟V10作为深度适配飞腾/鲲鹏平台的操作系统,其等保三级合规并非简单套用CentOS加固脚本,而是需围绕内核审计(auditd)、可插拔认证模块(PAM)及国产安全增强机制(如kysec)进行精细化编排。技术价值体现在将抽象条款(如GB/T 22239-2019中6.1.2、6.3.3条)转化为可验证的命令行操作,确保登录失败可锁定、关键行为可追溯、时间偏差不致日志失效。典型应用场

weixin_29969209的博客 594

使用Java开发Jmeter自定义取样器(Sampler)插件

Jmeter提供默认界面(AbstractJavaSamplerClient)和自定义界面的(AbstractSamplerGui)两种自定义取样器的插件开发方式,对于复杂的压测任务,可以通过自定义取样器的方式来实现。

penngo的专栏 2947

自组织映射神经网络(SOM)

目录 1 背景:自组织(竞争型)神经网络 2竞争学习的概念与原理 2.1 竞争学习的步骤 2.2 示例 3SOM典型结构 4SOM网的权值调整域 5 SOM Kohonen 学习算法 6 SOM示例 7SOM设计细节 7.1输出层设计 7.2输出层节点排列的设计 7.3 权值初始化问题 7.4学习率的设计 7.5设计拓扑领域 8SOM功能分析 8.1 保序映射 8.2数据压缩 8.3 特征提取 9自组织映射神经网络与K均值算法的区别...

weixin_39910711的博客 1万+

ORB-SLAM3复现的详细过程——配置安装及ROS和脚本运行---Ubuntu20.04

所提供的图像具有高动态范围,事先进行了光度标定,用20Hz的帧率采集,分辨率为1024像素*1024像素;需要下载数据集dataset-room1_512_16和rgbd_dataset_freiburg1_desk。在一键安装ROS后,只需要再安装Pangolin即可,其他所有的需要都已经存在。用微型飞行器采集的视觉惯性数据集,包含双目相机和IMU同步测量数据及位姿的真值。第二条命令中的${ROS_PACKAGE_PATH}是自己文件的路径。其采用的相机和IMU传感器,在硬件上进行了时间同步。

琉璃轻纱的博客 1万+

Jmeter AbstractJavaSamplerClient 案例

1:首先到apache-jmeter-3.0\lib\ext目录下引用以下两个jar包到Java工程里面 ApacheJMeter_core.jar ApacheJMeter_java.jar 2:新建一个测试类继承AbstractJavaSamplerClient 并实现Serializable 接口,例如: public class Ssfwpttest extends AbstractJa...

weixin_34362991的博客 923

MAX30102心率血样模块在STM32F103芯片的程序说明

我希望你已经安装好了Keil MDK5这个软件,也安装了M3内核,可以编译一些STM32F103的一些项目下载程序后步骤: 1-按照下图找到IIC.uvprojx并打开(途中唯一绿色那个图标) 2-编译一次 3-确保0错误,0警告,下图所示 4-点击目标选项,然后找到STM32F103C8,再点debug–CMSIS****(我实际用的JTAG,用不了,选择这个CMSIS****即可)下图所示 5-下图所示,看看你的串口找到了没,找到了就点左下角的OK 6-按图上传到开发板 7-MAX30102接线方法

weixin_51357422的博客 5801

jmeter中java请求,解决不支持协议和元件,实现自定义元件

单线程分析,线程启动后,首先运行setupTest方法,再运行2次runTest方法;AbstractJavaSamplerClient类,这个抽象类主要方法3个,JavaTest中主要是覆盖这3个方法。编写好,此次类,可以此类当成一个模块类,每一次java脚本,只根据需要修改部分脚本及调用api,请进行使用了。我们使用编写java请求脚本,最好使用java的IDE工具,如eclipse;重启jmeter,添加java请求,查看到我们新编写的java请求类。新建java工程,导入jmeter主要依赖。

1116

cartographer ceres后端优化

这里引用一篇文章作用一:用户可以选择使用Problem::AddParameterBlock显式添加参数块;在显式添加的时候ceres会内部进行额外的正确性检查。当Problem::AddParameterBlock()不存在时,Problem::AddResidualBlock()会隐式添加参数块,因此不需要显式调用Problem::AddParameterBlock()函数。ps:类似构造函数,显式构造函数。

南北粉面馆 802

网络变更:APIC 节点替换

Fabric Name,Controller ID,TEP Address Pool 等信息必须相同;如果故障设备是 APIC1 还需要重新配置管理密码。此过程可能需要 10 分钟左右,在此期间目标 APIC 可能在 Available/Unavailable 状态翻滚。APIC 获取 TEP 地址后,进入 fully-fit。通过 CLI 以及配置的密码登录目标 APIC。

m0_54931486的博客 318

jmeter java请求实例_Jmeter自定义Java请求,继承AbstractJavaSamplerClient

首先,使用Eclipse新建一个项目,然后从Jmeter的lib/ext目录下中拷贝ApacheJMeter_java.jar和ApacheJMeter_core.jar两个文件,然后引入这两个JAR包到项目中。1、右键点击项目名>Build Path>ConfigureBuild Path...2、弹框选择Libraries>Add External JARs...3、选择A...

weixin_39534100的博客 648

UNet改进(19):基于残差注意力模块Residual Attention的高效分割网络设计

本文提出一种结合注意力机制的改进UNet网络,通过引入残差注意力模块(ResidualAttentionBlock)增强医学图像分割性能。该网络在传统UNet的U型结构基础上,创新性地将轻量级注意力机制与残差连接相结合,在编码器-解码器各层级实现特征重标定。改进后的网络具有三方面优势:通过注意力机制自适应聚焦关键特征区域,利用残差连接缓解梯度消失问题,采用模块化设计灵活配置注意力位置。

2501_91516851的博客 780

模拟面试面试题汇总 

模拟面试面试题汇总 第一轮面试题 一、描述下数据库中的事务--ACID各个的特点。 原子性:事务中的操作要么全部成功要么全部失败。 一致性:事务前后数据的完整性必须保持一致。 隔离性:多个并发的事务之间是相互隔离的,互不干扰的。 持久性:事务提交后,数据是永久改变的。 二、什么是springboot?你们公司是用的哪个版本? SpringBoot是Spring推出用于解决传统框架配置文件冗余,装配组件繁杂的基于Maven的解决方案,旨在快速搭建单个微服务。 版本号:2...

u011526274的博客 3648

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

谈谈阿里开源Dubbo接口如何测试?

1.Dubbo简介 Dubbo 是阿里巴巴公司开源的一个Java高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成,随着近几年微服务架构的兴起,因为其理念很契合微服务,在国内有着比较广泛的用户群体。 2.Dubbo特点 特点:高性能、轻量级、开源 面向接口代理的高性能RPC调用 互联网服务发展: ORM(单应用)-MVC(应用分层)-RPC(分布式服务,应用和服务分开)-SOA(面向服务,服务统一管理) 3.Dubbo基础架构 节点角色说明:

公众号:【伤心的辣条】 479

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

关于dubbo的一些性能测试参考文档

RPC框架性能基本比较测试 http://www.open-open.com/lib/view/open1426302068107.html dubbo性能测试报告 http://san-yun.iteye.com/blog/1689492 loadrunner测试dubbo协议的框架 http://bbs.51testing.com/thread-10725

huangmr的专栏 3612

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【自动化测试实战】从 0 到 1 搭建 Dubbo 接口自动化测试

前言,由于公司 Dubbo 接口数量较多,且核心接口较多,故需要一套 Dubbo 接口自动化框架,来提高测试效率。1、Dubbo 接口自动化测试框架实现逻辑2、框架具体功能 ​

测试界的彭于晏的博客 646

Jmeter二次开发(二)自定义java取样器

2.1Maven项目2.2 继承实现AbstractJavaSamplerClient类重写以下方法,每个方法的用途见下方代码注释getDefaultParameters:该方法用来设置请求的参数setupTest:类似于测试用例结构中的初始化操作,可以把读取参数值、初始化数据库放到这里teardownTest:类似于测试用例结构中的环境清理部分,关闭数据库的代码写在这里runTest:类似于测试用例结构中的执行部分,这里就是真正的业务执行的地方@Override。

xxwobest的博客 312

【压测】使用jmeter进行java性能测试

基本测试原理:jmeter模拟请求,根据设定的不同请求量,查看目标程序的CPU占用率、内存消耗和线程数等状况,对比数据,分析优化程序。jmeter支持设定请求线程数和每秒执行次数。 准备工作是写一个执行类,因为要作为jar包使用,所以要建个项目先,项目只有一个实现了AbstractJavaSamplerClient抽象类的类。需要引用${jmeter_home}/l...

793

Jmeter-Java二次开发

maven依赖 &lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.jmeter&lt;/groupId&gt; &lt;artifactId&gt;ApacheJMeter_core&lt;/artifactId&gt; &...

飞天的猪猪 789

java client类_Jmeter中自定义JavaSamplerClient类的编写

自定义的JavaSamplerClient类需要满足以下几个条件:1、需要把Jmter的ext目录下的ApacheJmeter_core.jar和ApacheJmetere_java.jar 引入到项目中2、自定义的JavaSamplerClient继承org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient类3、实现Ab...

weixin_42520780的博客 990

java扩展jmeter依赖

System.out.println(" 我的demo!!!!");1)到idea终端 打包 mvn clean package2)将打包后生成的文件,放到jmeter的/apache-jmeter-5.2.1/lib/ext路径下3)重启jemter4)添加线程组,添加java请求,可看到刚刚写好的类5)点击运行 日志打印了。

Lvxueqinga的博客 853

Jmeter自定义Java请求,继承AbstractJavaSamplerClient

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

weixin_34308389的博客 637

Jmeter提取协议报文、请求头、请求体、响应体

【代码】Jmeter提取协议报文、请求头、请求体、响应体。

weixin_43824520的博客 3899

Jmeter post请求body体缺失问题

在使用jmeter调试脚本时,接口一直报接口请求失败错误信息,使用jmeter抓包查看,原来是请求的body体信息错误,截图如下: 通过抓包查看返回的状态码是正确的,证明接口是正常,返回检查jmeter设置,接口信息也是正确的,找了博客,也设置了头部文件,content-type:application/json,但是还是没有效果。 后来终于找到了原因,是jmeter自身勾选问题: 参数设置中,这个值一直是默认勾选状态,不能将这个勾选,不然会自动化将body转换为multipart/form-

zhichuan0307的博客 3469

如何用Jmeter做接口自动化测试?跟着操作一次就明白了

Jmeter是Apache公司组织开发的一款基于Java压力测试工具,开源且支持多个操作系统,可以对测试静态和动态资源进行大并发负载模拟,或对服务器网络进行高强度并发测试,业界多将该工具应用于性能测试。本文则利用该工具特点,结合接口级功能测试的属性、特点,开展了自动化测试方法探索与实践,以期与大家交流和分享。 一、实践背景 在自动化功能测试领域,按照业界普遍认同的单元级、接口级、UI界面级7-2-1占比原则,接口级功能测试能够屏蔽案例对某些特殊环境依赖、适用范围广,可实现复杂案例设计,能收益率适中(占比.

公众号【伤心的辣条】资料领取~ 2471
上一篇: jmeter发送websocket请求
和技术赛跑
博客等级 码龄11年 80粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值