# pres-dubbo **Repository Path**: prestest/dubboTestTool ## Basic Information - **Project Name**: pres-dubbo - **Description**: 测试dubbo接口的小工具 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/prestest/dubboTestTool - **GVP Project**: No ## Statistics - **Stars**: 29 - **Forks**: 13 - **Created**: 2020-05-09 - **Last Updated**: 2025-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 测试dubbo接口的小工具 > flask+kazoo+telnet - [kazoo是一个Python库,旨在使得Python能够轻松、便捷的使用zookeeper。](https://kazoo.readthedocs.io/en/latest/) - [*Flask*是一个使用 Python 编写的轻量级 Web 应用框架。](https://dormousehole.readthedocs.io/en/latest/) - [从 `2.0.5` 版本开始,dubbo 开始支持通过 telnet 命令来进行服务治理。](https://dubbo.apache.org/zh/docs/references/telnet/) ### 一、启动说明 1. `git clone https://gitee.com/prestest/dubboTestTool` 2. 修改zk的地址[`base.py`] ```python class ZooKeeperUtil(Tool.Tool): def __init__(self): super().__init__() self.zk = KazooClient(hosts='zk.xxxx.cn:2181') # 需要替换zk的地址 self.zk.start() ``` 3. 安装第三方库 ```bash # flask、kazoo、requests pip install -r requirements.txt ``` 4. 启动方式 ```bash python start.py ``` 5. 打开网页 `localhost:5000`或者`127.0.0.1:5000` ```python # 默认端口为5000,可在start.py中修改 pp.run(host='0.0.0.0', port=5000, debug=True) ``` ### 二、通过zk,搜索API和方法,直接请求 1. 选择需要测试的ServiceAPI,可模糊搜索,点击搜索。 ![API列表](static/image/README_1.jpg) 2. 出现方法列表后,选择要测试的Method,可模糊搜索 ![方法列表](static/image/README_2.jpg) 3. 输入相应参数 - 具体参数要求内容可向研发咨询或查看代码或者接口文档。 - 参数顺序必须与接口的参数顺序保持一致 如 接口为 `Method(String userid,Integer number)`,则只需输入参数为 `"userid1",456` - 当参数为Map,key的类型为Integer时,建议指定类型`"class":"java.util.HashMap"` - 当类型转换失败的时候,可以通过增加class属性指定需要转换类,类的路径查看代码或者向研发询问即可 ```bash { "name":"zhangsan", "age":12, "class":"org.apache.dubbo.qos.legacy.service.Person" } ``` ![测试结果](static/image/README_3.jpg) ### 三、通过ip和端口的方式调用 > 可以不通过zk,直接通过ip和端口调试或者调用某一dubbo接口 - 地址:`http://localhost:5000/local` - 请求方式与通过zk的方式一样 ![本地调用](static/image/README_4.jpg)