# pres-test-tool-dubbo **Repository Path**: micheryu/dubboTestTool ## Basic Information - **Project Name**: pres-test-tool-dubbo - **Description**: 测试dubbo接口的小工具 - **Primary Language**: Python - **License**: MulanPSL-1.0 - **Default Branch**: master - **Homepage**: https://gitee.com/prestest/dubboTestTool - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 14 - **Created**: 2021-09-24 - **Last Updated**: 2021-09-24 ## 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. 修改配置文件[`config.py`] ```python config = { 'zooKeeper': [ # 需要替换zk的地址 'zk.xxx.cn:2181' ], 'robot': { # status的状态表示是否发送消息 'dingTalk': { 'status': False, # 需要替换钉钉的签名key 'signKey': '[需要替换钉钉的签名key]', # 需要替换钉钉的webhook_key 'token': '[需要替换钉钉的webhook_key]' }, 'qyWechat': { 'status': False, # 需要替换企业微信的webhook_key 'token': '[需要替换企业微信的webhook_key]' } } ``` 3. 安装第三方库 ```bash # flask、kazoo、requests pip install -r requirements.txt ``` 4. 启动方式 ```bash python run.py ``` 5. 打开网页 `localhost:5000` ```python # 默认端口为5000,可在run.py中修改 app.run(host='0.0.0.0', port=5000, debug=True) ``` ### 二、在页面上请求 1. 选择需要测试的ServiceAPI,可模糊搜索,点击搜索。 ![选择需要测试的ServiceAPI](https://i.loli.net/2020/04/22/UBm7y8zPYFQnH6q.jpg) 2. 出现方法列表后,选择要测试的Method,可模糊搜索 ![选择要测试的Method](https://i.loli.net/2020/04/22/HAOpMbxhYqUN3zt.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" } ``` ![测试结果](https://i.loli.net/2020/04/22/KZgUfhdObRBy8kl.jpg) 4. 需要测试其他api,则需要重新打开页面或者,点击左上角的刷新按钮。 ### 三、以http的方式调用 > 可以在postman中发起http请求,去调用dubbo接口。将常用的请求通过postman保存下来,或者其他方式使用 - 请求方式:get/post - 参数请求格式:raw ,参数用逗号隔开。或者直接在地址后追加原始参数 - 地址:`http://localhost:5000/d2h/{service}/{method}` ![请求格式:raw](https://i.loli.net/2020/04/28/9AKSO4Eiv6r5B1d.jpg) ![在地址后追加原始参数](https://i.loli.net/2020/04/28/afXDP8v4Th5iU9t.jpg)