一种测试路由器的方法和装置与流程

文档序号:12375966阅读:624来源:国知局
一种测试路由器的方法和装置与流程

本发明涉及网络配置(NETCONF,Network Configuration)技术,尤指一种测试路由器的方法和装置。



背景技术:

在测试路由器的工作维护过程中,路由器中的每个节点是否正常工作需要测试人员根据大量的测试用例进行人工测试,再对测试结果进行评价。由于每个节点的测试对象特别多,每个测试对象涉及到的测试用例又不一样,有些测试对象的测试用例也特别多,每个测试用例又包含有多个指标数据。并且测试用例需要遵循特定的测试规范和配置要求,同时每次测试节点的工作情况都要进行同样的操作、重复劳动,测试过程中需要手工记下有故障的节点。因此,这种做法工作量大,测试效率低。



技术实现要素:

为了解决上述问题,本发明提出了一种测试路由器的方法和装置,能够提高测试效率。

为了达到上述目的,本发明提出了一种测试路由器的方法,包括:

生成测试用例;

将生成的测试用例转换为网络配置NETCONF报文;

将NETCONF报文发送给路由器,接收到来自路由器的返回报文;

将测试用例中的在路由器上的执行命令发送给路由器,接收到来自路由器的执行结果;

将测试用例中的预期的测试结果分别和返回报文中的测试结果以及接收到的执行结果进行比较并显示比较结果。

优选地,所述生成测试用例包括:

调用所述路由器对应的测试用例模板,在所述测试用例模板中写入所述路由器的各测试节点对应的在路由器上的执行命令、预期的测试结果得到测试用例。

优选地,所述将生成的测试用例转换为NETCONF报文包括:

根据所述测试用例获取所述测试用例所属的模块,根据获得的模块生成所述NETCONF报文中第一个节点中包含的内容,分别将所述测试用例中的其他节点作为所述NETCONF报文中可扩展标记语言XML的一个标签项。

本发明还提出了一种测试路由器的装置,至少包括:

生成模块,用于生成测试用例;

转换模块,用于将生成的测试用例转换为网络配置NETCONF报文;

发送模块,用于将NETCONF报文发送给路由器;将测试用例中的在路由器上的执行命令发送给路由器;

接收模块,用于接收到来自路由器的返回报文;接收到来自路由器的执行结果;

比较模块,用于将测试用例中的预期的测试结果分别和返回报文中的测试结果以及接收到的执行结果进行比较并显示比较结果。

优选地,所述生成模块具体用于:

调用所述路由器对应的测试用例模板,在所述测试用例模板中写入所述路由器的各测试节点对应的在路由器上的执行命令、预期的测试结果得到测试用例。

优选地,所述转换模块具体用于:

根据所述测试用例获取所述测试用例所属的模块,根据获得的模块生成所述NETCONF报文中第一个节点中包含的内容,分别将所述测试用例中的其他节点作为所述NETCONF报文中可扩展标记语言XML的一个标签项。

与现有技术相比,本发明包括:生成测试用例;将生成的测试用例转换 为NETCONF报文;将NETCONF报文发送给路由器,接收到来自路由器的返回报文;将测试用例中的在路由器上的执行命令发送给路由器,接收到来自路由器的执行结果;将测试用例中的预期的测试结果分别和返回报文中的测试结果以及接收到的执行结果进行比较并显示比较结果。通过本发明的方案,自动对路由器进行测试,提高了测试效率。

附图说明

下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。

图1为本发明测试路由器的方法的流程图;

图2为本发明测试路由器的装置的结构组成示意图。

具体实施方式

为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的各种方式可以相互组合。

参见图1,本发明提出了一种测试路由器的方法,包括:

步骤100、生成测试用例。具体包括:

调用路由器对应的测试用例模板,在测试用例模板中写入路由器的各测试节点对应的在路由器上的执行命令、预期的测试结果得到测试用例。

其中,测试用例模板可以是Excel表格,Excel表格中包含有路由器的测试节点。可以是“/模块名:节点名”的方式。例如,/bfd:configuration/bfd:bfd/bfd:interface-paras/bfd:interface-para/bfd:if-name表示bfd模块下的Configuration节点下的bfd节点下的interface-paras节点下的interface-para节点下的if-name节点。

Excel表格中可以包含一个或一个以上测试节点。

其中,可以从测试用例模板所在的路径中调用测试用例模板。

步骤101、将生成的测试用例转换为NETCONF报文。具体包括:

根据测试用例获取测试用例所属的模块,根据获得的模块生成NETCONF报文中第一个节点中包含的内容,分别将测试用例中的其他节点作为NETCONF报文中可扩展标记语言(XML,Extensible Markup Language)的一个标签项。

例如,上述例子中测试用例所属的模块即为bfd。

生成的NETCONF报文即为:

其中,第一行、第二行表示NETCONF报文中第一个节点中包含的内容的开始,第十行表示NETCONF报文中第一个节点中包含的内容的结束,第三行表示bfd节点对应的标签项的开始,第九行表示bfd节点对应的标签项的结束,第四行表示Interface-paras节点对应的标签项的开始,第八行表示Interface-paras节点对应的标签项的结束,第五行表示interface-para节点对应的标签项的开始,第七行表示interface-para节点对应的标签项的结束,第六行为if-name节点对应的标签项。

步骤102、将NETCONF报文发送给路由器,接收到来自路由器的返回报文。

本步骤中,可以通过调用NETCONF4J工具包将NETCONF报文发送给路由器,具体实现属于本领域技术人员的公知技术,并不用于限定本发明的保护范围,这里不再赘述。

本步骤中,返回报文中包含有各测试节点的值。

步骤103、将测试用例中的在路由器上的执行命令发送给路由器,接收到来自路由器的执行结果。

本步骤中,具体如何将测试用例中的在路由器上的执行命令发送给路由器,接收到来自路由器的执行结果属于本领域技术人员的公知技术,并不用于限定本发明的保护范围,这里不再赘述。

步骤104、将测试用例中的预期的测试结果分别和返回报文中的测试结果以及接收到的执行结果进行比较并显示比较结果。

本步骤中,可以以多种形式来显示比较结果,例如图表形式。

通过本发明的方案,自动对路由器进行测试,提高了测试效率。

参见图2,本发明还提出了一种测试路由器的装置,至少包括:

生成模块,用于生成测试用例;

转换模块,用于将生成的测试用例转换为网络配置NETCONF报文;

发送模块,用于将NETCONF报文发送给路由器;将测试用例中的在路由器上的执行命令发送给路由器;

接收模块,用于接收到来自路由器的返回报文;接收到来自路由器的执行结果;

比较模块,用于将测试用例中的预期的测试结果分别和返回报文中的测试结果以及接收到的执行结果进行比较并显示比较结果。

本发明的装置中,生成模块具体用于:

调用路由器对应的测试用例模板,在测试用例模板中写入路由器的各测试节点对应的在路由器上的执行命令、预期的测试结果得到测试用例。

本发明的装置中,转换模块具体用于:

根据测试用例获取测试用例所属的模块,根据获得的模块生成NETCONF报文中第一个节点中包含的内容,分别将测试用例中的其他节点作为NETCONF报文中可扩展标记语言XML的一个标签项。

需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解而已,并不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。

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