使用jmeter进行dubbo协议的测试方法

jmeter脚本是作为dubbo消费者

以下为工程主要代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package  com.one; 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; import  com.alibaba.dubbo.config.ApplicationConfig; import  com.alibaba.dubbo.config.ReferenceConfig; import  com.unj.dubbotest.provider.DemoService; public  class  TestConsumer   extends  AbstractJavaSamplerClient {
 
     private  static  String label =  "consumer"
 
     private    String ID;     //dubbo服务地址
     private   String URL;     private   String VERSION ;     private   String SERVICE_NAME;   
 
     private  Object object;      public  void  init() {         // 当前应用配置
         ApplicationConfig application =  new  ApplicationConfig();
         application.setName( "hehe_consumer" );         // 注意:ReferenceConfig为重对象,内部封装了与注册中心的连接,以及与服务提供方的连接
         // 引用远程服务
         ReferenceConfig  reference =  new  ReferenceConfig();  // 此实例很重,封装了与注册中心的连接以及与提供者的连接,请自行缓存,否则可能造成内存和连接泄漏
         reference.setApplication(application);
         reference.setId(ID);
         reference.setVersion(VERSION);         //dubbo服务名
         reference.setInterface(SERVICE_NAME);         //dubboip地址
         reference.setUrl(URL);         // 和本地bean一样使用xxxService
         object = reference.get();  // 注意:此代理对象内部封装了所有通讯细节,对象较重,请缓存复用\
         }     public  void  setupTest(){  
         //定义测试初始值,setupTest只在测试开始前使用  
         System.out.println( "setupTest" );  
     }  
 
     @Override
     public  SampleResult runTest(JavaSamplerContext arg0) {
         SampleResult sr =  new  SampleResult(); ; 
         try  {             //获取参数
             ID = arg0.getParameter( "ID" );  
             URL = arg0.getParameter( "URL" ); 
 
             VERSION = arg0.getParameter( "VERSION" );  
             SERVICE_NAME = arg0.getParameter( "SERVICE_NAME" ); 
 
             //dubbo初始化
             init();             //jmeter结果对象
 
             sr.setSampleLabel(label);
 
             sr.sampleStart(); 
 
             DemoService demoService = (DemoService)object;
             String hello = demoService.sayHello( "tom" );
 
             sr.setResponseCode( "00000" );
             sr.setResponseMessage(hello);
 
             sr.setSuccessful( true ); 
             sr.sampleEnd();  // jmeter 结束统计响应时间标记  
 
         catch  (Exception e) {
             e.printStackTrace();
             sr.setResponseCode( "999" );
             sr.setResponseMessage(e.getMessage());
             sr.setSuccessful( false );
         }         return  sr;
     }     public  Arguments getDefaultParameters(){  
         //参数定义,显示在前台,也可以不定义  
         Arguments params =  new  Arguments();  
         params.addArgument( "ID" "" );  
         params.addArgument( "URL" "" ); 
         params.addArgument( "VERSION" "" );  
         params.addArgument( "SERVICE_NAME" "" );         return  params;  
         }  
 
     public  void  teardownTest(JavaSamplerContext arg0){  
         super .teardownTest(arg0);  
     }  
}

第一步:右击工程,点击Export标签,选择java文件夹,点击【JAR file】

使用jmeter进行dubbo协议的测试方法

第二步:输入JAR file 文件路径,点击【Finish】按钮

使用jmeter进行dubbo协议的测试方法

第三步:导致的jar放置../apache-jmeter-2.13libext目录下

使用jmeter进行dubbo协议的测试方法

jmeter使用

第一步:打开Jmeter软件

使用jmeter进行dubbo协议的测试方法

新建线程组

使用jmeter进行dubbo协议的测试方法

第二步:新建一个Java请求,选择自己编写的测试类,输入参数

第一个参数:这个参数没有特定的规定,名字取得有意义一些,比如:ID

第二个参数:输入dubbo的服务地址:dubbo://127.0.0.1:20880(是自己项目的具体情况)

第三个参数:输入dubbo的版本号:1.0.0

第四个参数:输入dubbo服务名称:com.unj.dubbotest.provider.DemoService

使用jmeter进行dubbo协议的测试方法

第三步:新建一个监听器

使用jmeter进行dubbo协议的测试方法

第四步:Jmeter导入依赖包,(包的目录是在工程(consumer)的lib下)

点击测试计划,右下方点击【浏览】按钮,选择工程下的lib目录,重启Jmeter

使用jmeter进行dubbo协议的测试方法

第五步:执行Jmeter,查看结果

使用jmeter进行dubbo协议的测试方法










本文转自 小强测试帮 51CTO博客,原文链接:http://blog.51cto.com/xqtesting/2059424,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值