工具推荐自己封装的 dubbo 接口测试库

Posted 酔清风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工具推荐自己封装的 dubbo 接口测试库相关的知识,希望对你有一定的参考价值。

篇幅较长,请大家耐心看完,建议收藏慢慢看,另外文末给大家准备了面试资料(学习资料加面试题等),需要自取!

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

pip install dubborequests

二、升级包

pip install --upgrade dubborequests

三、示例

获取 dubbo 服务详情

# 导入
import dubborequests
from dubborequests.config import Config
Config.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 dubborequests
from dubborequests.config import Config
Config.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 dubborequests
from 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.String
invoke_data1 = 
        "account": "xxxx"
    
# 如果入参类型是java.util.List
invoke_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.String
invoke_data5 = 
        "account": "xxxx",
        "password": "xxxx"
    
# 组合入参类型2, java.lang.String、java.util.List
invoke_data6 = 
        "account": "xxxx",
        "list_": ['数组的内容']
    
# 组合入参类型3, cn.com.xxx.xxx.dto.xxx.ProductQuery、java.util.Map
invoke_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 dubborequests
invoke_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 地址:dubborequests · PyPI

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

项目地址:GitHub - JokerChat/dubbo_fastapi

福利

 

以上是关于工具推荐自己封装的 dubbo 接口测试库的主要内容,如果未能解决你的问题,请参考以下文章

使用Jmeter测试Dubbo接口(参数设置篇)

工具篇:介绍几个好用的guava工具类

工具篇:介绍几个好用的guava工具类

Dubbo-基础篇-架构设计

Dubbo-进阶篇-架构设计

接口测试-综合技能篇之案例一