准备工作
1、maven工程,dubbo消费者
2、普通java接口同样适用本案例
操作步骤
1、引入jar包
<!--jmeter依赖的jar包 --> <dependency> <groupId>org.apache.jmeter</groupId> <artifactId>ApacheJMeter_core</artifactId> <version>3.0</version> <exclusions> <exclusion> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> </exclusion> <exclusion> <groupId>commons-math3</groupId> <artifactId>commons-math3</artifactId> </exclusion> <exclusion> <groupId>commons-pool2</groupId> <artifactId>commons-pool2</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.jmeter</groupId> <artifactId>ApacheJMeter_java</artifactId> <version>3.0</version> <exclusions> <exclusion> <groupId>commons-math3</groupId> <artifactId>commons-math3</artifactId> </exclusion> <exclusion> <groupId>commons-pool2</groupId> <artifactId>commons-pool2</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> </exclusion> </exclusions> </dependency>
2、 编写测试类
public class ServiceJavaSampler extends AbstractJavaSamplerClient { private static final ApplicationContext context = new ClassPathXmlApplicationContext( new String[] { "spring/scm-context.xml" }); private IScmBasegoodsService demoService; public void setupTest(JavaSamplerContext arg0){ demoService = (IScmBasegoodsService) context .getBean("scmBasegoodsService"); } @Override public SampleResult runTest(JavaSamplerContext arg0) { SampleResult sr = new SampleResult(); try { sr.sampleStart(); sr.setSampleLabel("basegoods接口测试"); demoService = (IScmBasegoodsService) context .getBean("scmBasegoodsService"); Page page=new Page(1, 2000, 5000); PageResult result=demoService.findPubBasegoodsList(page, ""); if(result!=null) { sr.setSuccessful(true); sr.setResponseData("from provider:" + result, "utf-8"); } else { sr.setSuccessful(false); } //sr.setDataType(SampleResult.TEXT); sr.sampleEnd(); } catch (Exception e) { e.printStackTrace(); } return sr; } }
重点:继承AbstractJavaSamplerClient类,实现runTest测试方法。通过setSuccessful方法来设置,测试的成功与否。根据不同的业务可在此工程中编写多个测试类。
3、本地Main方法执行测试类
public class TestMain { public static final void main(String[] args) { JavaSamplerContext arg0 = new JavaSamplerContext(new Arguments()); ServiceJavaSampler test = new ServiceJavaSampler(); test.setupTest(arg0); test.runTest(arg0); } }
重点:确保本地执行没有问题,再集成Jmeter
4、Jmeter集成
a、使用maven打包项目,生成相应的jar包和依赖包。
b、将打包的jar放在jmeter的lib/ext目录
c、将依赖的jar放在jmeter的lib/ext目录,并且配置到jmeter的环境变量中
将依赖的jar(打包的lib目录)复制重命名为lib-scm-dependency(名称自定义即可)
编辑bin目录下的jmeter.properties,增加search_paths,多个目录;相隔
#search_paths=/app1/lib;/app2/lib search_paths='D:\Program Files (x86)\apache-jmeter-3.1\lib\ext\lib-scm-dependency'
5、jmeter测试
测试计划增加线程组,根据实际情况进行压测。新建Java请求,知道我们的测试类即可
注意事项:
1、如果配置完成,打开jmeter报错,可能是依赖的jar与jmeter的自带的jar冲突,需要手动排查处理。
相关推荐
1、本人项目中要压测RocketMQ,发现网上的有一些源码,但是都不是很全,于是乎自己开发了一个插件,请放到jmeter的lib下的ext下,然后重启jmeter,在java sample中使用
jar包直接放进 jmeter安装目录的lib/ext 下即可使用,添加java请求,老铁赶紧下!!!!
最近在看jmeter相关知识,做了一个简单的jmeter压测mysql的脚本,收藏起来,方便以后查阅学习,也供基础者学习
该插件直接放于 jmeter ext/lib包下面即可,可以直接对dubbo接口发起测试,支持jmeter30以上版本,这个是鄙人写的一个专门用于jmeter-dubbo接口自动化测试的插件,原理是通过dubbo appconfig类,直接写客户端调用,...
jmeter压测工具jmeter压测工具jmeter压测工具jmeter压测工具
docker influxdb 离线镜像,jmeter压测java 接口时序数据库 如有疑问请参考博客:https://blog.csdn.net/2301_79691134/article/details/134289054
软件描述:Dubbo的Jmeter平台插件,用来拓展Jmeter功能,使之支持Dubbo协议接口。使用前,需将下载的jar包放在Jmeter的lib/ext目录下,完成后打开Jmeter在取样器中看到Dubbo Sample,即为生效。
jmeter压测达梦数据库的jdbc配置模板,包括jdnc的配置和一些简单压测脚本,详细情况请看jml文件,请在测试计划中配置驱动程序包
使用JMeter压测Websocket协议,需要下载Websocket插件。下载本资源(JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar、websocket-api-9.1.1.v20140108.jar、websocket-client-9.1.1.v20140108.jar、websocket-common-...
使用JMeter压测时,报java.net.bindexception:address already is use:connect异常,可执行本资源的.bat文件,修改系统注册表。
帮助利用jmeter插件,继承dubbo,针对zookepper上的dubbo接口直接发起接口测试
JMeter 压测遇到的问题解决方案 JMeter 是一款功能强大的性能测试工具,但是在使用过程中,我们可能会遇到一些问题,例如 JMeter 刚启动直接崩溃、创建线程数太多、压测时导致问题等。下面我们将对这些问题进行详细...
压测工具包中包含一个压测工具JMeter和一个压测dubbo的jar包jmeter-plugins-dubbo-1.2.7-SNAPSHOT-jar-with-dependencies.jar。主要是用于系统压测,可直接压测dubbo接口
jmeter测试dubbo请求,博客地址:http://blog.csdn.net/qq_34021712/article/details/78956600
首先,我们了解Apache Dubbo是一个Java RPC框架,它提供了接口调用、智能容错、负载均衡和服务注册发现的核心功能。 ### 1、Idea环境项目部署 在IDEA中部署Dubbo项目,我们需要准备以下组件: 1. **api**模块:...
很好的一个插件,可以用jmeter测试dubbo,进行dubbo接口的自动化和性能测试
1.jmeter脚本; 2.beanshall读取csv文件参数; 3.正则表达式获取响应状态码; 4.响应数据写入csv文件;
jmeter + dubbo插件
Jmeter压测工具哦
相关文档以及jar包