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

每天进步一点点,关注我们哦,每天分享测试技术文章

本文章出自【码同学软件测试】

码同学公众号:自动化软件测试,领取资料可加:magetest

码同学抖音号:小码哥聊软件测试

 

简介

在服务端的接口测试中,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项目练手)。

 

免费领取码同学软件测试课程笔记+超多学习资料+完整视频+面试题,可加微信:magetest

其次,找开发要到本次需要测试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请求,来进行进一步的接口测试了。

免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频 ☞ 可加:magetest/关注码同学公众号:自动化软件测试

本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

 

posted @ 2022-07-14 09:37  码同学软件测试  阅读(181)  评论(0编辑  收藏  举报