一、python语言也可以实现对dubbo接口的调用与测试,可以使用python+hessian结合的方式,也可以使用python+telnet结合的方式模拟命令行的模式来实现对dubbo接口的测试;

 


二、网上关于python+hessian协议的博客比较多,本人试了试,终究是没有在本机上测试通过,所以选择了:python+telnet的方法在编译器里实现了Python源生代码对dubbo接口调用测试;

 

三、具体源代码如下:
import json import telnetlib class Dubbo(telnetlib.Telnet): prompt = 'dubbo>'
coding = 'utf-8' def __init__(self, host=None, port=0): super().__init__(host,
port) self.write(b'\n') def command(self, flag, str_=""): data =
self.read_until(flag.encode()) self.write(str_.encode() + b"\n") return data
def invoke(self, service_name, method_name): command_str = "invoke
{0}.{1}()".format( service_name, method_name) self.command(Dubbo.prompt,
command_str) data = self.command(Dubbo.prompt, "") data =
json.loads(data.decode(Dubbo.coding, errors='ignore').split('\n')[0].strip())
return data if __name__ == '__main__': conn = Dubbo('serviceIp', port) result =
conn.invoke( "serviceName", "serviceName.method" ) print(result)
 


备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:



添加关注,一起共同成长吧。