dubbo服务测试方法、系统、电子设备及存储介质与流程

文档序号:24551127发布日期:2021-04-06 12:03阅读:71来源:国知局
dubbo服务测试方法、系统、电子设备及存储介质与流程

本发明涉及接口测试技术领域,尤其涉及一种dubbo服务测试方法、系统、电子设备及存储介质。



背景技术:

随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构的应用越来越广泛,其中dubbo作为一款开源的服务框架,契合微服务架构思想,已经被许多企业使用。

为了完成软件的开发,对软件进行测试,在应用dubbo服务框架时,需要对dubbo服务的接口进行测试,常用的dubbo服务的接口测试方法有:在集成开发环境(integrateddevelopmentenvironment,ide)中操作,搭建相应的环境,进行接口测试;通过使用jmeter,一款基于java的压力测试工具,导入相应的接口映射的压缩文件包,进行接口测试;在命令行窗口中,基于telent协议测试dubbo服务的接口。

然而上述方法存在操作繁琐,不直观,学习成本高,或可复用性低等缺点,对专门应用于dubbo服务的接口测试工具的需求是目前业界亟待解决的重要课题。



技术实现要素:

本发明的目的是提供一种dubbo服务测试方法、系统、电子设备及存储介质,用以至少部分解决现有技术中存在的问题。

具体地,本发明实施例提供了以下技术方案:

第一方面,本发明提供了一种dubbo服务测试系统,包括:地址管理模块、接口管理模块、接口测试模块、集成测试模块;

所述地址管理模块用于管理dubbo服务的地址,以及测试所述地址;

所述接口管理模块用于管理所述dubbo服务的接口;

所述接口测试模块用于生成所述接口的接口测试用例,以及实施所述接口测试用例;

所述集成测试模块用于将所述接口组合成组件,生成所述组件的集成测试用例,以及实施所述集成测试用例。

根据本发明提供的dubbo服务测试系统,还包括测试管理模块;所述测试管理模块用于管理所述接口测试模块和/或所述集成测试模块的测试用例。

根据本发明提供的dubbo服务测试系统,还包括图形化操作界面;所述图形化操作界面用于可视化操作所述dubbo服务测试系统。

根据本发明提供的dubbo服务测试系统,所述图形化操作界面包括对应于所述集成测试模块的拖拽式图形操作界面,用于通过拖拽包括与所述接口对应的控件,组合成所述组件。

根据本发明提供的dubbo服务测试系统,所述图形化操作界面包括结果展示页面,用于以图形化方式展示所述接口测试模块和/或所述集成测试模块的测试结果。

第二方面,基于本发明第一方面所述的dubbo服务测试系统所实现的dubbo服务测试方法,包括:

根据所述dubbo服务测试系统的指令,通过使用telent协议,测试dubbo服务的地址和/或实施测试用例。

根据本发明提供的dubbo服务测试方法,根据所述dubbo服务测试系统的指令,通过使用telent协议实施测试用例,包括:

对所述dubbo服务测试系统的指令进行解析得到入参,使用telent协议输入所述入参从而实施测试用例;

或,对使用telent协议实施测试用例返回的出参进行封装,得到所述dubbo服务测试系统的指令。

第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第二方面所述dubbo服务测试方法的步骤。

第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第二方面所述dubbo服务测试方法的步骤。

第五方面,本发明实施例还提供了一种计算机程序产品,所计算机程序产品包括有计算机程序,该计算机程序被处理器执行时实现如第二方面所述dubbo服务测试方法的步骤。

由上面技术方案可知,本发明实施例提供的dubbo服务测试方法、系统、电子设备及存储介质,通过设置地址管理模块,只需ip地址和端口即可连接服务,无需导入接口映射的压缩文件包,通过设置接口管理模块、接口测试模块和集成测试模块,无需另外搭建环境,即可实施接口测试,降低了学习成本。

附图说明

图1是本发明实施例提供的dubbo服务测试系统的结构示意图;

图2是本发明实施例提供的dubbo服务测试系统图形化操作界面的示意图;

图3是本发明实施例提供的dubbo服务测试系统图形化操作界面的示意图之二;

图4是本发明实施例提供的dubbo服务测试系统图形化操作界面的示意图之三;

图5是本发明实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明实施例提供的dubbo服务测试系统的结构示意图,参见图1,本发明实施例提供的dubbo服务测试系统包括:地址管理模块101、接口管理模块102、接口测试模块103、集成测试模块104;

所述地址管理模块101用于管理dubbo服务的地址,以及测试所述地址;

所述接口管理模块102用于管理所述dubbo服务的接口;

所述接口测试模块103用于生成所述接口的接口测试用例,以及实施所述接口测试用例;

所述集成测试模块104用于将所述接口组合成组件,生成所述组件的集成测试用例,以及实施所述集成测试用例。

在本实施例中,还包括测试管理模块;所述测试管理模块用于管理所述接口测试模块和/或所述集成测试模块的测试用例。

在本实施例中,需要说明的是,将cpu处理器与操作系统的整体叫做平台,所述dubbo服务测试系统可以使用跨平台的编程语言开发,如java,从而能够无需改变地运行于多个平台,如可在mac或者windows上跨平台直接运行,无需安装,点开即用。

所述地址管理模块101可以实现dubbo服务地址的录入,修改,删除,以及测试录入的dubbo服务地址是否可用。如输入dubbo服务的ip地址和端口号后,根据ip和端口直连dubbo服务,并测试该dubbo服务是否可用。通过地址管理模块101录入的dubbo服务的接口可以通过接口管理模块102而管理。

所述接口管理模块102可以对dubbo服务下的接口进行增加、修改、删除以及模糊搜索等。如当选择一项已经通过地址管理模块101保存的dubbo服务时,dubbo服务测试系统可以自动连接该dubbo服务,查询该dubbo服务下的所有接口,并解析返回的接口,得到如该接口的接口名、入参和返回信息等,还可以对该dubbo服务的接口进行管理,如保存到dubbo服务测试系统以供接口测试模块103进行测试。

所述接口测试模块103可以生成dubbo服务测试系统中保存的接口的测试用例,以及实施所述接口测试用例。如新建一个测试用例,用于对某个接口进行测试,在入参项中,对该接口的入参进行设值,有多个入参时,可分别多每个入参设值,运行该测试后,可以得到该测试的结果,包括入参、返回类型,返回的结果等。完成对单个接口的单元测试后,也可以通过集成测试模块104对dubbo服务测试系统中保存的接口进行集成测试。

所述集成测试模块104可以将已保存的接口,按照一定的规则串行测试,以达到测试某个流程的目的。如通过添加控制条件,比如判断,分支以及循环,将接口连接成特定顺序,同时添加开始和结束条件,比如结果输出,方法睡眠,流程终止等,形成一个完整的测试流程,通过集成测试,检验接口是否能够在连接起来后也正常工作,以及检验某个流程是否可以按照预期结果运行。

在本实施例中,还包括测试管理模块,所述测试管理模块可以记录生成的测试用例以及收藏特定的测试用例。如以时间为维度,记录生成的接口测试用例以及可能的测试结果,比如以天为维度。还可以分目录收藏测试,如分操作环境创建目录,在每个目录下有相应的用例。记录和收藏的测试用例可以实现复用,如搜索特定的过往测试用例,并根据该测试用例进行测试,而无需再次设置参数等。

在本实施例中,还包括图形化操作界面;所述图形化操作界面用于可视化操作所述dubbo服务测试系统。所述图形化操作界面包括对应于所述集成测试模块的拖拽式图形操作界面,用于通过拖拽包括与所述接口对应的控件,组合成所述组件。所述图形化操作界面包括结果展示页面,用于以图形化方式展示所述接口测试模块和/或所述集成测试模块的测试结果。

可以根据具体需求,使用现有的可视化界面开发框架来实现图形化操作界面,在本实施例中,可以使用javafx框架开发图形化操作界面。

图2是本发明实施例提供的dubbo服务测试系统图形化操作界面的示意图,参照图2,与地址管理模块对应的图形操作界面可以包括dubbo服务的名称框、ip地址框、端口框以及修改、删除、保存按钮等(未全部示出),以实现dubbo服务地址的录入,修改,删除等操作。例如,通过点击添加按钮,在添加服务页面中输入ip地址和端口号,点击测试,即可完成对dubbo服务地址的测试。

图3是本发明实施例提供的dubbo服务测试系统图形化操作界面的示意图之二,图4是本发明实施例提供的dubbo服务测试系统图形化操作界面的示意图之三,参照图3和图4,与接口管理模块对应的图形操作界面可以包括已经保存的接口列表,列表上方有搜索窗口,可以实现模糊搜索,右键点击某个接口,可以展开右键菜单进行删除,右侧则展示接口的详情,如名称、方法名、入参以及返回等。例如通过点击添加按钮,可以在新增dubbo接口页面中选择一项已保存的dubbo服务,选择后dubbo服务测试系统会自动连接该服务,列出该服务下所有接口,可以在接口列表中根据需求选择接口并通过点击保存增加新的接口。

与接口测试模块和测试管理模块对应的图形化操作界面包括dubbo服务管理按钮、接口管理按钮、集成测试按钮以及历史和收藏列表等等。通过点击dubbo服务管理按钮,可以进入与地址管理模块对应的图形操作界面,点击接口管理按钮,可以进入与接口管理模块对应的图形操作界面,点击集成测试按钮,可以进入与集成测试模块对应的图形操作界面。在本实施例中,左侧有对应于测试管理模块的历史和收藏列表,历史和收藏列表也可以有单独的页面。可以在搜索框中搜索过往的测试,测试的记录会按时间保存在历史栏目中,例如打开某天的目录,会看到当天所实施的测试。收藏栏目以树形结构展现收藏的测试,树形结构的根节点是目录,叶子节点是收藏的测试,右键可以删除目录或更改目录的名字。可以从历史栏目或收藏栏目直接打开测试页面。

与接口测试模块对应的图形化操作界面包括dubbo接口栏、接口名栏、入参栏、返回类型栏、返回结果栏以及耗时栏等等,可以实现接口测试模块的可视化界面操作,例如通过入参栏中的值下面的输入框对入参设定数值。dubbo接口测试的结果可以原生展示,也可通过点击页面标签来切换页面以美化后的字符串形式展示,并且可以在结果中搜索关键字来查找关键信息。可以通过点击测试用例的标签按钮来切换测试用例。可以通过点击收藏按钮,将该测试用例收藏,以备后续复用。

与集成测试模块对应的图形操作界面可以包括左侧的控件栏,中间工作区栏以及最右侧的控件信息栏。控件栏可以包括三大类控件:接口控件、控制控件以及系统控件,接口控件包含之前保存的dubbo服务接口,控制控件包含各种流程上的控制条件,比如if判断、for循环,对结果取值操作等,系统控件包含流程开始结束,结果输出控件,方法睡眠,流程终止等。集成测试默认包含开始和结束的系统控件。可以通过鼠标拖拽的方式,将左侧的各类控件拖至工作区中的合适位置,控件以方块形式展示,不同种类的控件可以呈现不同的底色,以方便区分。每个控件可以根据控件的属性,包括若干输入节点和输出节点,例如控件方块左侧是输入节点,右侧是输出节点,又例如对于接口类控件,该接口1个入参,2个出参,则该控件方块至少有1个流程入口节点,1个流程出口节点,1个入参节点,2个出参节点。流程入口节点连接该控件的上一个执行步骤,流程出口节点连接该控件的下一个执行步骤,例如流程入口节点可以连接系统开始控件,流程出口节点可以连接判断控制控件,流程出入口节点决定了流程走向。入参节点和出参节点用于连接参数的输入来源或输出去向,例如入参节点可以连接临时变量,出参节点可以连接另一个接口类控件。可以通过拖动鼠标在控件之间连线,例如在一个控件节点处点击左键,拖动鼠标到另一个控件节点附近并松开,包含可视化图形操作界面的dubbo服务测试系统会检测到附近节点并将线吸附到节点上,完成连线。

控件的底色可以如下(十六进制色码表):

接口类:#7ab4eb;控制类:#a44d4d。

节点的底色:

方法入口出口:#ff0000;string类型变量:#cce455;byte类型变量:#086e5d;short类型变量:#119d6a;int类型变量:#86cff1;long类型变量:#596811;double类型:#2457e4;float类型:#9540bb;其他类型:#753c3c。

基于本发明实施例所述的dubbo服务测试系统所实现的dubbo服务测试方法,包括:根据所述dubbo服务测试系统的指令,通过使用telent协议,测试dubbo服务的地址和/或实施测试用例。进一步地,根据所述dubbo服务测试系统的指令,通过使用telent协议实施测试用例,包括:对所述dubbo服务测试系统的指令进行解析得到入参,使用telent协议输入所述入参从而实施测试用例;或,对使用telent协议实施测试用例返回的出参进行封装,得到所述dubbo服务测试系统的指令。在本实施例中,可以根据dubbo服务测试系统的指令,使用telent协议,按照dubbo服务的ip地址和端口信息连接到dubbo服务,并通过是否连接成功测试dubbo服务的地址。连接成功后,用ls命令会返回该服务下的各个接口。对于其中某一个接口,输入:ls–l服务名称,会返回该接口的信息,每个接口信息都包含了返回类型,接口名称,入参等。如果收到dubbo服务测试系统的指令要对某个接口进行调用,则使用invoke命令,可以得到调用的结果,包括出参和耗时等信息,返回的结果可以通过对象简谱(javascriptobjectnotation,json)的方式输出。接口所需的入参也可以通过json的方式输入。对于参数是复杂的类型对象或自定义的对象的情况,例如pageparam,则可以通过map集合类进行包装,map集合类用于存储元素对(称作“键”和“值”),在本实施例中一个元素对class的键key和值value用于作为该类型对象的包路径,然后再向map中存储参数的其他属性。最后将该map转为json作为入参。在本实施例中,dubbo服务测试系统对上述操作都进行了封装,并以可视化图形界面的方式展现,用户无需具体实施上述操作,从而简化了测试流程,降低了学习成本。

图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(communicationsinterface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行dubbo服务测试方法,该方法包括:根据所述dubbo服务测试系统的指令,通过使用telent协议,测试dubbo服务的地址和/或实施测试用例。

此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的dubbo服务测试方法,该方法包括:根据所述dubbo服务测试系统的指令,通过使用telent协议,测试dubbo服务的地址和/或实施测试用例。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的dubbo服务测试方法,该方法包括:根据所述dubbo服务测试系统的指令,通过使用telent协议,测试dubbo服务的地址和/或实施测试用例。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1