Uploaded by Danie Shaw

dubbo接口测试

advertisement
一、环境准备
环境:python 2.7、PyCharm 工具
准备步骤:
1. 准备 python 环境,pip 安装 dubbo_telnet:pip install dubbo_telnet
2. 运行如下脚本
#-*- coding: utf-8 -*import dubbo_telnet
import json
# 初始化 dubbo 对象
def dubbo(Host,Port,interface,method,param):
conn = dubbo_telnet.connect(Host, Port)
# 设置 telnet 连接超时时间
conn.set_connect_timeout(10)
# 设置 dubbo 服务返回响应的编码
conn.set_encoding('gbk')
# 显示服务列表
print "打印服务列表名:"
print conn.do("ls")
# 显示指定服务的方法列表
print "打印方法名:"
print conn.do("ls %s"%(interface))
result = conn.invoke(interface, method, param)
print json.dumps(result, sort_keys=True, indent=4, separators=(',', ': '),
skipkeys=True, ensure_ascii=False)
if __name__ == '__main__':
Host = '192.168.2.91' # Doubble 服务器 IP
Port = 20081
# Doubble 服务端口
interface = 'com.fang.common.service.topic.IFangSpecialTopicService'
method = 'selectTopicListByUser'
param ='"682CA660F7FD403A1F76941F0C2A49FF9B853B55","000002"'
dubbo(Host, Port, interface, method, param)
第一次运行时会报错如下:
因为 C:\Users\lzp\AppData\Roaming\Python\Python27\sitepackages\dubbo_telnet\__init__.py 对返
回结果处理出了异常,需要加一个错误处理
try:
data = json.loads(data[0], encoding=self.__encoding)
except Exception as ValueError:
data = data
然后再运行,返回接口结果
二、dubbo 接口测试
1. host 和 port 从 dubbo 后台页面查看
2. interface method 和 param 让开发截接口的图给测试
此处传参要注意:
如果传入的参数是 jason 串,则直接传入 jason 串即可;
如果传入的参数是对象,则 param 按照对象及对应数值传
Download