🔥 交流讨论:欢迎加入我们一起学习!
🔥 资源分享:耗时200+小时精选的「软件测试」资料包
🔥 教程推荐:火遍全网的《软件测试》教程
📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
目前主流的分布式框架有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服务的测试,在测试具体的服务前,需要和开发进行沟通,了解Dubbo服务的:
• 服务注册协议
• 服务注册地址
• 服务版本
• 服务集群配置
• 服务所属分组
• 服务的全名
• 服务的方法
• 服务的入参以及类型
Jmeter实现Dubbo服务的测试
将官网提供的jmeter-plugins-dubbo-x.x.x-jar-with-dependencies 插件放置到Jmeter的第三方插件包中
JMETER_HOME/lib/ext下,重启Jmeter 以后可以在取样器中看到Dubbo Sample。
在Dubbo Sample中填写服务的相关信息:
• 配置中心:Config Center,可选组件,若没有可不填写
• 注册协议:支持直连,zookeeper, multicast,redis…
• 注册中心地址:ip:port
• 注册协议:支持dubbo://, rmi://
• 服务接口信息:Interface填写配置文件中的包名.类型,Methods填写方法名,Args填写调用的参数
运行Dubbo Sample,可在查看结果树中看到请求参数以及方法调用后的结果
最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路
作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!