Python结合telnet命令实现自动化测试dubbo接口

一、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自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:

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

猜你喜欢

转载自blog.csdn.net/weixin_41754309/article/details/81367303
今日推荐