本技术涉及交换机snmp自动化测试领域,尤其涉及一种交换机私有mib的自动测试方法、设备及介质。
背景技术:
1、交换机snmp mib(管理信息库)是一种树状的数据库,mib包含了一系列的对象,每一个mib对象都可以使用对象标识符oid(对象标识符)来表示。在自动化测试私有mib的时候,往往是根据oid信息来验证其set(设置)和get(获取)功能。
2、现有交换机的snmp mib保存着交换机各个模块的信息,可以通过mib信息对设备进行读写来完成设备监控和维护,私有mib一般是对公有mib的补充,是公司自定义的mib,在自动化测试交换机snmp(简单网关监控协议)私有mib的过程中,会出现以下问题:
3、1)私有mib的oid可能存在不同设备类型的oid会不一样,给自动化脚本编写会带来困扰,不知道如何填写对应的mib oid。
4、2)私有mib的oid会出现更改,会给自动化脚本带来很大的维护成本,所有验证该oid功能的脚本都需要更改。
技术实现思路
1、本技术实施例提供了一种交换机私有mib的自动测试方法、设备及介质,用于解决如下技术问题:现有交换机中的管理信息库在对象标识符发生变化时,容易给自动化脚本造成较大的维护成本,且相关脚本的关联修改较大,脚本灵活性差。
2、本技术实施例采用下述技术方案:
3、一方面,本技术实施例提供了一种交换机私有mib的自动测试方法,包括:基于树状数据结构,将私有节点中的对象标识符进行分支化配置,得到数据序列化语言模板;对所述数据序列化语言模板中的节点进行编号处理,得到数据序列化语言文件;对所述数据序列化语言文件进行有关所述对象标识符的功能模块划分,确定出功能模块集合;通过所述功能模块集合,对待操作节点进行变量调节,得到节点变量;根据所述节点变量,将所述待操作节点进行逐层节点编号的组合处理,得到最终对象标识符信息;基于所述最终对象标识符信息,完成对私有管理信息库的自动化测试。
4、本技术实施例通过将交换机私有mib的oid信息,使用yaml模板按照树状结构组装,即使后续因为节点标号变化导致对应oid变化,也只用修改该处yaml文件的节点值,不用修改脚本和代码,大大降低了维护成本。同时,交换机私有mib的oid信息可能跟设备类型有关,大多数情况节点编号使用默认值即可,对于设备类型相关的地方其节点编号按照设备类型划分,后续即使有新的设备类型需要设置其节点信息,也只需要在该节点处添加该设备类型即可,不用维护多套脚本,代码的可扩展性更高,维护成本更低。
5、在一种可行的实施方式中,基于树状数据结构,将私有节点中的对象标识符进行分支化配置,得到数据序列化语言模板,具体包括:基于所述树状数据结构,将所述私有节点确定为所述管理信息库中的管理对象树根;其中,所述私有节点与所述对象标识符相关联;通过所述管理对象树根,将有关设备类型的各个参数进行有关树状结构分支化配置,得到分支节点;其中,分支节点与所述对象标识符相关联;根据所述管理对象树根以及所述分支节点,并基于预设的简单网关监控协议,建立所述数据序列化语言模板。
6、在一种可行的实施方式中,对所述数据序列化语言模板中的节点进行编号处理,得到数据序列化语言文件,具体包括:对所述数据序列化语言模板中的节点进行节点编号类型划分;若所述节点编号类型为不需区分版本类型的节点编号,则基于程序语言关键字,对所述节点进行编号表示;若所述节点编号类型为需要区分版本类型的节点编号,则基于测试交换机的设备类型信息,对所述节点进行编号表示;并且,若不存在所述设备类型信息,则基于预设的默认值,对所述节点进行编号表示;基于对各个所述节点进行编号表示后,确定出所述数据序列化语言文件。
7、在一种可行的实施方式中,对所述数据序列化语言文件进行有关所述对象标识符的功能模块划分,确定出功能模块集合,具体包括:解析所述数据序列化语言文件,得到每个节点的节点编号;对所述数据序列化语言文件进行有关节点索引的模块划分,得到具有对象标识符的功能模块;其中,所述功能模块至少包括:interface模块以及system模块;将所述节点编号中的节点信息存储到所述功能模块中,确定出所述功能模块集合。
8、在一种可行的实施方式中,通过所述功能模块集合,对待操作节点进行变量调节,得到节点变量,具体包括:对所述功能模块集合进行有关所述待操作节点的存储查询判断;其中,所述待操作节点与所述对象标识符相关联;若所述功能模块集合中存在所述待操作节点,则通过所述功能模块集合,调用所述待操作节点中的所述节点变量;若所述功能模块集合中不存在所述待操作节点,则根据所述数据序列语言文件中的树状数据结构,逐级获取所述待操作节点的节点信息;并将所述节点信息赋值到所述功能模块集合中对应功能模块的变量中,确定为所述节点变量。
9、在一种可行的实施方式中,根据所述节点变量,将所述待操作节点进行逐层节点编号的组合处理,得到最终对象标识符信息,具体包括:根据所述节点变量,对所述数据序列化语言文件进行节点编号的解析判断;若所述节点编号包含测试交换机的设备类型信息,则将所述设备类型对应的节点编号确定为相关节点编号;若所述节点编号不包含测试交换机的设备类型信息,则将所述节点编号确定为默认节点编号;基于所述相关节点编号以及所述默认节点编号,对所述数据序列化语言文件进行有关所涉及所有节点信息的逐层组合处理,得到所述最终对象标识符信息;其中,所述所有节点信息包含所述相关节点编号中的节点信息以及所述默认节点编号中的节点信息。
10、在一种可行的实施方式中,基于所述最终对象标识符信息,完成对私有管理信息库的自动化测试,具体包括:通过所述最终对象标识符信息,对所述私有管理信息库进行自动化测试验证,得到测试结果信息。
11、在一种可行的实施方式中,所述数据序列化语言文件还能够基于所述树状数据结构,将测试交换机中的新设备类型信息以及对应节点编号进行分支节点的添加处理。
12、第二方面,本技术实施例还提供了一种交换机私有mib的自动测试设备,所述设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有能够被所述至少一个处理器执行的指令,以使所述至少一个处理器能够执行上述任一实施方式所述的一种交换机私有mib的自动测试方法。
13、第三方面,本技术实施例还提供了一种非易失性计算机存储介质,其特征在于,所述存储介质为非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有至少一个程序,每个所述程序包括指令,所述指令当被终端执行时,使所述终端执行上述任一实施方式所述的一种交换机私有mib的自动测试方法。
14、本技术提供了一种交换机私有mib的自动测试方法、设备及介质,与现有技术相比,本技术实施例具有以下有益的技术效果:
15、本技术实施例通过将交换机私有mib的oid信息,使用yaml模板按照树状结构组装,即使后续因为节点标号变化导致对应oid变化,也只用修改该处yaml文件的节点值,不用修改脚本和代码,大大降低了维护成本。同时,交换机私有mib的oid信息可能跟设备类型有关,大多数情况节点编号使用默认值即可,对于设备类型相关的地方其节点编号按照设备类型划分,后续即使有新的设备类型需要设置其节点信息,也只需要在该节点处添加该设备类型即可,不用维护多套脚本,代码的可扩展性更高,维护成本更低。
1.一种交换机私有mib的自动测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种交换机私有mib的自动测试方法,其特征在于,基于树状数据结构,将私有节点中的对象标识符进行分支化配置,得到数据序列化语言模板,具体包括:
3.根据权利要求1所述的一种交换机私有mib的自动测试方法,其特征在于,对所述数据序列化语言模板中的节点进行编号处理,得到数据序列化语言文件,具体包括:
4.根据权利要求1所述的一种交换机私有mib的自动测试方法,其特征在于,对所述数据序列化语言文件进行有关所述对象标识符的功能模块划分,确定出功能模块集合,具体包括:
5.根据权利要求1所述的一种交换机私有mib的自动测试方法,其特征在于,通过所述功能模块集合,对待操作节点进行变量调节,得到节点变量,具体包括:
6.根据权利要求1所述的一种交换机私有mib的自动测试方法,其特征在于,根据所述节点变量,将所述待操作节点进行逐层节点编号的组合处理,得到最终对象标识符信息,具体包括:
7.根据权利要求1所述的一种交换机私有mib的自动测试方法,其特征在于,基于所述最终对象标识符信息,完成对私有管理信息库的自动化测试,具体包括:
8.根据权利要求1所述的一种交换机私有mib的自动测试方法,其特征在于,所述数据序列化语言文件还能够基于所述树状数据结构,将测试交换机中的新设备类型信息以及对应节点编号进行分支节点的添加处理。
9.一种交换机私有mib的自动测试设备,其特征在于,所述设备包括:
10.一种非易失性计算机存储介质,其特征在于,所述存储介质为非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有至少一个程序,每个所述程序包括指令,所述指令当被终端执行时,使所述终端执行根据权利要求1-8任一项所述的一种交换机私有mib的自动测试方法。