dubbo 测试工具

本章我们主要来聊聊如何测试dubbo接口。我们知道dubbo是做了接口本地化调用的,如果不引入Jar的话,我们如何做测试呢,总不能每次服务端接口更新了,我们都要重新更新Jar包去测试吧?
dubbo-proxy-tool
目前市面上也有很多测试dubbo的方法,比如dubbo-postman、jmeter、dubbo自带的telnet命令等等。今天我们要介绍的是dubbo-proxy-tools,也是一款开源的dubbo测试工具。它有如下优点:

  • 界面化,有一个易于操作的界面
  • 无jar包依赖,服务端接口更新了,测试工具只要改一下接口参数,不用同步更新
  • 测试用例可保存并转移,用例不是测一次就没了,可以保存下来,并且可以把自己的用例拷贝一份给其他人
当然它也有一些缺点:
  • 需要引入mysql数据库
  • 需要引入redis
对于这些缺点,其实我们可以通过定制化开发来去除,比如redis目前只是做用户登录认证,完全可以移掉。
总体上缺点可以简单改造,优点也比较明显,所以我们选择使用这款测试工具,其源码实现也非常简单,我们自己拉了一份进行维护和做定制化开发。
第一个测试用例
如何搭建和部署这里就不做介绍了,直接看总结里的参考资料。先上界面
dubbo 测试工具
文章图片

再来看操作:
1) 先拉取对应注册中心的服务数据
目前这个版本代码功能还不是很完善,需要自己手动在数据库表t_register_config里添加
dubbo 测试工具
文章图片

这里的 host 就是我们需要输入的关键字,还不支持下拉框自动识别,需要先输入部分关键(所以说目前不是很完善)
dubbo 测试工具
文章图片

目前只支持 zookeeper,当然你可以自己扩展其他注册中心
dubbo 测试工具
文章图片

然后点击拉取服务地址按钮,显示获取成功就说明注册中心的服务都加载过来了
dubbo 测试工具
文章图片

2) 测试服务接口
我这边启动了服务com.example.dubboprovider.rpc.CityService,输入服务名,然后在旁边输入服务的方法名
dubbo 测试工具
文章图片

接着选择请求参数,我这里接口是不需要参数的,所以不填,如果有则需要填上对应的类型以及你要测试的值
dubbo 测试工具
文章图片

【dubbo 测试工具】点击发送dubbo请求即可
dubbo 测试工具
文章图片

下面会直接显示响应的结果
dubbo 测试工具
文章图片

当然你也可以看到Dubbo本次调用的url的情况
dubbo 测试工具
文章图片

3) 复杂类型参数接口测试
上面的是最简单的接口测试,如果接口包含复杂的对象参数,如何测试呢?比如我的接口参数是这样的
dubbo 测试工具
文章图片

只要点击自定义参数,通过 json 格式填入各个参数名称以及对应的值
dubbo 测试工具
文章图片

这里需要注意的是对象名称要填包全路径名,指的就是参数的类型。如果类中嵌套其他类,则需要加一个 Json,比如这里的 channelParam 就是一个其他的类型,里面要有 class 来指定对应的具体类。对于枚举类型,直接填对应的名称即可,比如这里的枚举类型是 PayChannelEnum,填了 CMB,这个 CMB 就是一种枚举类型名称
dubbo 测试工具
文章图片

4) 保存和转移用例
完成用例编写之后,可能你下次还要复用或者转移给其他人复用,这里就涉及到保存和转移。
保存比较简单,写完之后直接点击保存按钮即可
dubbo 测试工具
文章图片

保存完之后要转移用例,先点击请求记录
dubbo 测试工具
文章图片

然后点击转移用例给其他人
dubbo 测试工具
文章图片

再输入该账户名即可
dubbo 测试工具
文章图片

这样其他人就不用重复写用例了
5)其他功能
除了以上常用的功能外,还有其他功能,比如压力测试、直连Url、选择版本号等,在这里都能自己找到,就不一一介绍了,自己去摸索下
dubbo 测试工具
文章图片

总结
目前该款测试工具提供了基本可用的地步,只是达到可用而已,后续还需要我们自己去多多完善,提高使用效率。
参考资料:https://gitee.com/IdeaHome_ad...

    推荐阅读