关于python:Python-自己封装的-dubbo-接口测试库dubborequests

51次阅读

共计 2453 个字符,预计需要花费 7 分钟才能阅读完成。

原文由底层贫苦人员发表于 TesterHome 社区,点击原文链接可与作者间接交换。

一、装置(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 地址:https://pypi.org/project/dubb…

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

我的项目地址:https://github.com/JokerChat/…

原文由底层贫苦人员发表于 TesterHome 社区,点击原文链接可与作者间接交换。

今日份的常识已摄入~
想理解更多前沿测试开发技术:欢送关注「第十届 MTSC 大会·上海」>>>
1 个主会场 +11 大专场,大咖星散精英齐聚

正文完
 0