dubbo 测试工具
本章我们主要来聊聊如何测试dubbo接口。我们知道dubbo是做了接口本地化调用的,如果不引入Jar的话,我们如何做测试呢,总不能每次服务端接口更新了,我们都要重新更新Jar包去测试吧?
dubbo-proxy-tool
目前市面上也有很多测试dubbo的方法,比如dubbo-postman、jmeter、dubbo自带的telnet命令等等。今天我们要介绍的是dubbo-proxy-tools,也是一款开源的dubbo测试工具。它有如下优点:
- 界面化,有一个易于操作的界面
- 无jar包依赖,服务端接口更新了,测试工具只要改一下接口参数,不用同步更新
- 测试用例可保存并转移,用例不是测一次就没了,可以保存下来,并且可以把自己的用例拷贝一份给其他人
- 需要引入mysql数据库
- 需要引入redis
总体上缺点可以简单改造,优点也比较明显,所以我们选择使用这款测试工具,其源码实现也非常简单,我们自己拉了一份进行维护和做定制化开发。
第一个测试用例
如何搭建和部署这里就不做介绍了,直接看总结里的参考资料。先上界面
文章图片
再来看操作:
1) 先拉取对应注册中心的服务数据
目前这个版本代码功能还不是很完善,需要自己手动在数据库表
t_register_config
里添加文章图片
这里的 host 就是我们需要输入的关键字,还不支持下拉框自动识别,需要先输入部分关键(所以说目前不是很完善)
文章图片
目前只支持 zookeeper,当然你可以自己扩展其他注册中心
文章图片
然后点击拉取服务地址按钮,显示获取成功就说明注册中心的服务都加载过来了
文章图片
2) 测试服务接口
我这边启动了服务
com.example.dubboprovider.rpc.CityService
,输入服务名,然后在旁边输入服务的方法名文章图片
接着选择请求参数,我这里接口是不需要参数的,所以不填,如果有则需要填上对应的类型以及你要测试的值
文章图片
【dubbo 测试工具】点击发送dubbo请求即可
文章图片
下面会直接显示响应的结果
文章图片
当然你也可以看到Dubbo本次调用的url的情况
文章图片
3) 复杂类型参数接口测试
上面的是最简单的接口测试,如果接口包含复杂的对象参数,如何测试呢?比如我的接口参数是这样的
文章图片
只要点击自定义参数,通过 json 格式填入各个参数名称以及对应的值
文章图片
这里需要注意的是对象名称要填包全路径名,指的就是参数的类型。如果类中嵌套其他类,则需要加一个 Json,比如这里的 channelParam 就是一个其他的类型,里面要有 class 来指定对应的具体类。对于枚举类型,直接填对应的名称即可,比如这里的枚举类型是 PayChannelEnum,填了 CMB,这个 CMB 就是一种枚举类型名称
文章图片
4) 保存和转移用例
完成用例编写之后,可能你下次还要复用或者转移给其他人复用,这里就涉及到保存和转移。
保存比较简单,写完之后直接点击保存按钮即可
文章图片
保存完之后要转移用例,先点击请求记录
文章图片
然后点击转移用例给其他人
文章图片
再输入该账户名即可
文章图片
这样其他人就不用重复写用例了
5)其他功能
除了以上常用的功能外,还有其他功能,比如压力测试、直连Url、选择版本号等,在这里都能自己找到,就不一一介绍了,自己去摸索下
文章图片
总结
目前该款测试工具提供了基本可用的地步,只是达到可用而已,后续还需要我们自己去多多完善,提高使用效率。
参考资料:https://gitee.com/IdeaHome_ad...
推荐阅读
- dubbo基本认识
- Dubbo引用服务
- 第七章|第七章 行业内的结构分析
- 3.|3. Dubbo服务提供端请求处理流程
- Java程序|软件测试八款优秀的API安全测试工具,会用三款工作效率能提升50%
- 从原理到操作,让你在 APISIX 中代理 Dubbo 服务更便捷
- 推荐八个高效测试工具
- 在线正则表达式可视化测试工具
- 2021年软件测试工具总结——嵌入式软件测试工具 | IDCF
- Dubbo使用Hessian2序列化时针对Byte类型出现java.lang.ClassCastException