背景:

针对中台系统的dubbo接口测试,小白不会代码的同学,可以使用jmeter也可以轻松完成接口测试。包括接口的功能测试,幂等校验等不方便通过上游系统调用的,都可以通过以下jmeter直接调用达到测试的目的,是不是很心动~

 

实现步骤:

1、下载第三方插件

jmeter本身并不支持dubbo接口的测试,需要下载第三方插件,然后将jar包放入${JMETER_HOME}\lib\ext路径下,重启即可。可以使用以下jar包,也可以网上下载。

jar包:📎jmeter-plugins-dubbo-2.7.3-jar-with-dependencies.jar

 

2、创建dubbo sample

放好步骤1中的插件,重新打开jmeter,就可以新建dubbo接口取样器了

 

3、准备接口信息

3.1 问开发要接口文档

举例支付中心-支付冻结接口:

接口摘要:com.qccr.cashierprod.facade.service.trade.TradePayFacade#pay(TradePayParamRO tradePayParamRO);

3.2、查看测试环境dubbo接口注册信息

具体操作手册看运维文档:https://xcz.yuque.com/devops-trul2/qtgrtm/twomy2

a. 搜索到测试的接口

b. 查看服务器接口信息

3.3 telnet调试dubbo接口

telnet IP PORT #

例如:telnet 172.26.59.6 20926

Trying 172.26.59.6...

Connected to 172.26.59.6.

Escape character is '^]'.  #按回车键,进入dubbo接口

dubbo>

 

3.4 ls查看该dubbo服务下的所有接口

 

 

3.5 ls -l 接口名称,获取到jmeter里面的调用参数:paramType,取括弧里面的对象名称

命令说明:

  1. ls: 显示服务列表
  2. ls -l: 显示服务详细信息列表
  1. ls XxxService: 显示服务的方法列表
  2. ls -l XxxService: 显示服务的方法详细信息列表

 

 

4、jmeter dubbo接口参数

参数说明:

a.protocol:none

address:服务器ip:端口

version:

interface:接口名

paramType:对象名

paramValue:接口入参,可以到trace日志查询参数格式

例如

"params":[{"accountType":"CREDIT","amount":7000,"appName":"订单中心","businessChannel":"FRANCHISEE_BUSINESS","businessNo":"23368233235703","buyUserId":"307290528","channelToken":"NCARZONEACCOUNT_01_B2B_NCA101_THIRD","extendsParam":"23296550964403","payerIp":"172.26.168.56","returnUrl":"http://127.0.0.1:8080/","saleType":0,"subject":"加盟商订单:23296550964403","summary":"订单[23296550964403]于[2020-05-25/22:52:12]发起冻结,金额为:70","timeoutExpress":1732}]

 

5、执行脚本,查看执行结果

6、常见问题说明

6.1 接口版本号不正确,如下图提示,1.0改为1.0.0就可以了

6.2 服务连不上

原因:

查看dubboadmin状态,注册失败,显示的ip不对。可以去运维平台看测试环境的服务ip或者可以找窦阳(北斗)把把dubboadmin重启下。

 posted on 2021-05-11 15:46  王又又0226  阅读(492)  评论(0编辑  收藏  举报