Dubbo接口不知道怎么测?教你三行代码实现dubbo接口测试

 🔥 交流讨论:欢迎加入我们一起学习!

🔥 资源分享耗时200+小时精选的「软件测试」资料包

🔥 教程推荐:火遍全网的《软件测试》教程  

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

简介

在服务端的接口测试中,rpc类型接口非常的普遍,比如dubbo、grpc等接口,针对此类接口,目前没有特别好的通用工具来执行测试,一般都是公司内部会开发一些接口工具实现对内如rpc接口的测试。像是dubbo接口,Jmeter有一个dubbo插件,但是易用性比较差,而且也存在bug,并不能作为测试的首选,这种情况下,不如通过自己写代码的方式来进行测试,即锻炼了自己的代码能力,还能更加深入了解dubbo接口的原理。这篇文章就带领大家一步步实现dubbo接口的脚本编写。

先来简单了解下dubbo的原理。

Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。

这是dubbo框架架构图

图片

节点角色说明:

Provider: 接口服务提供方。

Consumer: 接口服务调用方。

Registry: 服务注册与发现的注册中心,比如Zookeeper

Monitor: 统计接口的调用次调和调用时间的监控中心。

Container: 服务运行容器,比如Tomcat之类的。

接下来来说下如何编写dubbo测试脚本。

获取项目配置信息
首先,你得有一个可以练习的dubbo项目(可以拿公司测试环境的dubbo项目练手)。

其次,找开发要到本次需要测试dubbo接口jar包(通常名字带有”client”、”api”等字样)。使用反编译工具打开jar包,可以看到测试的接口方法,如:

图片

在OrderService接口中,包含了5个方法。明确本次需要测试哪些方法,比如getOrderById。

最后,找研发问到dubbo项目使用的注册中心ip和端口号,比如10.0.0.28:2181。

创建Java工程
在idea中(或者eclipse)创建一个Java工程,并将相关的依赖jar包导入的工程中。包括:
dubbo的依赖包(在服务端dubbo项目内可以找到,可以找研发要)

图片

dubbo接口包(在服务端dubbo项目内可以找到,可以找研发要)

图片

将dubbo的配置文件applicationContext.xml放到项目的src目录下,配置如下:

图片

解释:

address处配置的是dubbo注册中心的ip和端口号

interface处配置的是本次要测试的dubbo接口“cn.testfan.dubbo.service.OrderService”

最终,完整的工程结构如图:

图片

编写脚本
在工程的src目录下,创建package和测试类OrderTest,代码很简单,只需要三四行就可以调通dubbo接口,如下:

图片

运行脚本,可以看到打印出的结果:

图片

基本的demo脚本测试通过后,就可以封装为Testng、Junit的测试用例,或者转换为Jmeter Java请求,来进行进一步的接口测试了。

最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!

  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员二黑

V:testerhei

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值