Jmeter官方插件实现Dubbo接口测试

目前主流的分布式框架有Dubbo和SpringCloud, SpringCloud是基于Http协议的分布式框架,Dubbo是基于RPC的分布式框架,Jmeter没有内置对Dubbo接口的支持,很难直接对Dubbo接口进行测试。

Alibaba在2018年正式提供了Dubbo-Jmeter的插件(下载地址:https://dwz.cn/Uo3JILCS)通过集成此插件,可通过Jmeter实现Dubbo接口测试,此插件对系统版本有一定要求:

支持Jmeter版本:3.0+

支持Dubbo版本:2.5.x,2.6.x

本文是基于Jmeter 5.0和Dubbo 2.5.x编写案例调用。

Dobbo简介

使用Jmeter对Dubbo服务进行测试前,需要了解Dubbo的基础原理和架构,Dubbo有三大模块( http://dubbo.apache.org/en-us/ ):

• Registry: 服务注册与发现的注册中心(常用Zookeeper作为注册中心)。

• Provider: 暴露服务的服务提供方。

• Consumer: 调用远程服务的服务消费方。
Jmeter官方插件实现Dubbo接口测试
Jmeter使用插件模拟服务消费方去调用服务提供方的方法,来实现Dubbo服务的测试,在测试具体的服务前,需要和开发进行沟通,了解Dubbo服务的:

• 服务注册协议

• 服务注册地址

• 服务版本

• 服务集群配置

• 服务所属分组

• 服务的全名

• 服务的方法

• 服务的入参以及类型

Jmeter实现Dubbo服务的测试

将官网提供的jmeter-plugins-dubbo-x.x.x-jar-with-dependencies 插件放置到Jmeter的第三方插件包中

JMETER_HOME/lib/ext下,重启Jmeter 以后可以在取样器中看到Dubbo Sample。
Jmeter官方插件实现Dubbo接口测试
在Dubbo Sample中填写服务的相关信息:

• 配置中心:Config Center,可选组件,若没有可不填写

• 注册协议:支持直连,zookeeper, multicast,redis…

• 注册中心地址:ip:port

• 注册协议:支持dubbo://, rmi://

• 服务接口信息:Interface填写配置文件中的包名.类型,Methods填写方法名,Args填写调用的参数
Jmeter官方插件实现Dubbo接口测试
运行Dubbo Sample,可在查看结果树中看到请求参数以及方法调用后的结果
Jmeter官方插件实现Dubbo接口测试Jmeter官方插件实现Dubbo接口测试

作  者:Testfan Kitty

出  处:微信公众号:自动化软件测试平台

版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接