vlambda博客
学习文章列表

Python | 自己封装的 dubbo 接口测试库(dubborequests)

一、安装(python 版本建议 3.7 以上)

pip install dubborequests


二、升级包

 
   
   
 
pip install --upgrade dubborequests


三、示例

获取 dubbo 服务详情

# 导入import dubborequestsfrom dubborequests.config import ConfigConfig.zookeeper_url_list = ['192.168.240.15:2181', '192.168.240.15:2182', '192.168.240.15:2183']# 获取dubbo服务详情data = dubborequests.search('cn.com.xxx.sso.ehr.api.dubbo.SsoEmpInfoService')


获取服务下的所有方法

 
   
   
 
# 导入import dubborequestsfrom dubborequests.config import ConfigConfig.zookeeper_url_list = ['192.168.240.15:2181', '192.168.240.15:2182', '192.168.240.15:2183']# 获取dubbo服务下的所有方法service_data = dubborequests.list('cn.com.xxx.sso.ehr.api.dubbo.SsoEmpInfoService')# 获取dubbo服务指定的方法method_data = dubborequests.list('cn.com.xxx.sso.ehr.api.dubbo.SsoEmpInfoService', 'login')


通过 zookeeper 获取服务的 ip 和端口, Telnet 命令测试 dubbo 接口

 
   
   
 
import dubborequestsfrom dubborequests import Config# 先配置zookeeper中心地址Config.zookeeper_url_list = ['192.168.240.15:2181', '192.168.240.15:2182', '192.168.240.15:2183']service_name = "cn.com.xxxxx.sso.ehr.api.dubbo.SsoEmpInfoService"method_name = "login"data = { "account": "xxxx", "password": "xxxx" }# 通过zookeeper获取服务的ip和端口, Telnet命令测试dubbo接口res_data = dubborequests.zk_invoke(service_name, method_name, data)# 如果入参类型是java.lang.Stringinvoke_data1 = { "account": "xxxx" }# 如果入参类型是java.util.Listinvoke_data2 = { "list_": ['数组的内容'] }# 如果入参类型是java.util.Map、java.util.HashMap或者自定义对象名(com.your.package.BeanName)invoke_data3 = { "map_": { "age":27, "name": "clearlove7" } }# 如果无需入参类型, data为空dict即可invoke_data4 = {}# 组合入参类型1, java.lang.String、java.lang.Stringinvoke_data5 = { "account": "xxxx", "password": "xxxx" }# 组合入参类型2, java.lang.String、java.util.Listinvoke_data6 = { "account": "xxxx", "list_": ['数组的内容'] }# 组合入参类型3, cn.com.xxx.xxx.dto.xxx.ProductQuery、java.util.Mapinvoke_data7 = { "map1": { "product": 10086, "num": 1 }, "map2": { "age": 27, "name": "clearlove7" }}# 注意:#1、len(data)必须等于方法入参个数#2、data里面的key可以随意命名,data必须为dict类型#3、data里面的key-value排序必须按照方法定义的入参顺序# 详细可参照:https://github.com/thubbo/jmeter-plugins-for-apache-dubbo/wiki/ParameterComparisonTable


Telnet 命令测试 dubbo 接口

 
   
   
 
import dubborequestsinvoke_data = { "ip": 'xxxx', "port": 7777, "service_name": "cn.com.xxxxx.sso.ehr.api.dubbo.SsoEmpInfoService", "method_name": "login", "data": { "account": "xxxx", "password": "xxxx" }} # Telnet命令测试dubbo接口res_data = dubborequests.telnet_invoke(*invoke_data)# 入参例子参考上面👆🏻

四、dubborequests PyPi 地址

PyPi 地址:https://pypi.org/project/dubborequests/


五、基于 dubbo 接口测试库转换成 http 便捷请求

项目地址:https://github.com/JokerChat/dubbo_fastapi

▼  相关阅读



行业活动推荐


第十届MTSC大会 · 上海
主会场+11大专场,大咖云集精英齐聚
折票热卖中

↙↙阅读原文可查看相关链接,并与作者交流。