基于Django的Dubbo接口测试工具平台

发表于:2020-9-25 09:23  作者:大佬喝可乐   来源:掘金

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 接口测试

  日常工作中会需要对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
1
  生成数据库
python manage.py makemigrations
python manage.py migrate
  最后启动后台服务
python manage.py runserver
  服务启动成功,接下来 启动前端项目
  启动前端项目
  git 拉去master代码 TestPlatform-web
  进入主目录
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”,加上双引号。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理


评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2020, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道