基于Django的Dubbo接口测试工具平台
日常工作中会需要对Dubbo接口进行调用和测试,之前是通过脚本请求,为了做到通用性,所以弄了个小的测试工具平台。
该平台采用Django rest framework +VUE的前后端分离,前端使用了网上的一个开源项目,有需要的可以参考 github.com/PanJiaChen/…
项目启动
启动后台项目
git 拉去master代码 TestPlatform github.com/627886474/T…
在settings中修改你的mysql配置

在config.ini中填上你zookeeper的地址

然后下载相关依赖包
pip install -r package.txt
生成数据库表
python manage.py makemigrations
python manage.py migrate
最后启动后台服务
python manage.py runserver
服务启动成功,接下来 启动前端项目

启动前端项目
git 拉去master代码 TestPlatform-web
github.com/627886474/T…
进入主目录
npm install
npm run dev
界面演示
注册用户,手机号,邮箱不能重复

注册成功后,登录账号,进入后台管理页面

进入Dubbo接口 服务调用菜单,填入相关参数,对于不同Dubbo接口的入参说明请参考最后的说明

请求完成后,会有一条请求记录,可以“一键填充”。这样可以方便你使用别人的请求参数,不用在自己拼接参数

请求参数说明:
一共有四个参数:
**service_name:** 服务名,如 com.zl.ITestService
**dubbo_method:** 方法名,如 add
**params_type:** 入参的类型,这里只有两种 “class”和"others" ,"class”表示入参是实体类,“others”表示是实体类之外的所有类型
**params:** 方法需要的参数
请求示例:
服务中的方法是 :
Object addStudent(UserAO user)
{
"service_name":"com.zl.ITestService",
"dubbo_method":"add",
"params_type":"class",
"params":{
"class":"com.zl.entity.ao.UserAO",
"school":[
"1",
"2"
],
"name":"zl",
"tuofa":"true"
}
}
服务中的方法是 :
Object getStudent(Integer id, List name),参数需要使用 [] 包起来
{
"service_name": "com.zl.ITestService",
"dubbo_method": "add",
"params_type":"others",
"params": [
123,
[
"zl"
]
]
}
枚举类请求:
Object getStudent(Integer itemId, StudentEnum studentEnum);
枚举类的类名: com.zl.item.entity.StudentEnum
需要使用到的枚举类:GOOD_STUDENT,填写格式如下 :
{
"service_name": "com.zl.ITestService",
"dubbo_method": "add",
"params_type":"others",
"params": [
123,{"name": "GOOD_STUDENT", "class": "com.zl.item.entity.StudentEnum "}
]
}
常见的异常情况:
1、请求参数异常
请求Dubbo接口如果填入的参数有误,会报 no such method 的错误,请检查一下参数是否正常
2、对于入参是Boolean类型的数据
在json中,直接 使用{“data”:true}即可,但是在python请求时需要使用 “true”,加上双引号
如果你遇到了其他的问题欢迎留言
项目地址: github.com/627886474/T…

这是一个基于Django和Vue的前后端分离的Dubbo接口测试平台,用于便捷地调用和测试Dubbo接口。用户可以注册登录,填写服务名、方法名、入参类型和参数来发起请求,并保存请求记录。支持枚举类参数和异常情况处理。项目源码可在GitHub找到。
1万+

被折叠的 条评论
为什么被折叠?



