dubbo 测试工具

本章我们主要来聊聊如何测试dubbo接口。我们知道dubbo是做了接口本地化调用的,如果不引入Jar的话,我们如何做测试呢,总不能每次服务端接口更新了,我们都要重新更新Jar包去测试吧?

dubbo-proxy-tool

目前市面上也有很多测试dubbo的方法,比如dubbo-postman、jmeter、dubbo自带的telnet命令等等。今天我们要介绍的是dubbo-proxy-tools,也是一款开源的dubbo测试工具。它有如下优点:

  • 界面化,有一个易于操作的界面
  • 无jar包依赖,服务端接口更新了,测试工具只要改一下接口参数,不用同步更新
  • 测试用例可保存并转移,用例不是测一次就没了,可以保存下来,并且可以把自己的用例拷贝一份给其他人

当然它也有一些缺点:

  • 需要引入mysql数据库
  • 需要引入redis

对于这些缺点,其实我们可以通过定制化开发来去除,比如redis目前只是做用户登录认证,完全可以移掉。
总体上缺点可以简单改造,优点也比较明显,所以我们选择使用这款测试工具,其源码实现也非常简单,我们自己拉了一份进行维护和做定制化开发。

第一个测试用例

如何搭建和部署这里就不做介绍了,直接看总结里的参考资料。先上界面
dubbo 测试工具_第1张图片
再来看操作:
1) 先拉取对应注册中心的服务数据
目前这个版本代码功能还不是很完善,需要自己手动在数据库表t_register_config里添加
image.png

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

目前只支持 zookeeper,当然你可以自己扩展其他注册中心
image.png

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

2) 测试服务接口
我这边启动了服务com.example.dubboprovider.rpc.CityService,输入服务名,然后在旁边输入服务的方法名
image.png

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

点击发送dubbo请求即可
dubbo 测试工具_第5张图片

下面会直接显示响应的结果
dubbo 测试工具_第6张图片

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

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

只要点击自定义参数,通过 json 格式填入各个参数名称以及对应的值
dubbo 测试工具_第9张图片
这里需要注意的是对象名称要填包全路径名,指的就是参数的类型。如果类中嵌套其他类,则需要加一个 Json,比如这里的 channelParam 就是一个其他的类型,里面要有 class 来指定对应的具体类。对于枚举类型,直接填对应的名称即可,比如这里的枚举类型是 PayChannelEnum,填了 CMB,这个 CMB 就是一种枚举类型名称
dubbo 测试工具_第10张图片

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

保存完之后要转移用例,先点击请求记录
image.png

然后点击转移用例给其他人
dubbo 测试工具_第12张图片

再输入该账户名即可
dubbo 测试工具_第13张图片
这样其他人就不用重复写用例了

5)其他功能
除了以上常用的功能外,还有其他功能,比如压力测试、直连Url、选择版本号等,在这里都能自己找到,就不一一介绍了,自己去摸索下
image.png

总结

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

你可能感兴趣的