【技术实现步骤摘要】
测试报文的获取方法及装置、存储介质
[0001]本申请涉及网络
,特别涉及一种测试报文的获取方法及装置、存储介质。
技术介绍
[0002]YANG语言是互联网工程任务组(Internet engineering task force,IETF)标准组织在请求意见稿(request for comments,RFC)6020中定义的一种目标模型化描述语言,通过YANG语言,基于网络配置协议(network configuration protocol,NETCONF)对网络设备(例如路由器)的数据(例如配置数据、状态数据)进行建模得到YANG模型。
[0003]在建立YANG模型之后,通常需要对YANG模型进行测试,以确保建立的YANG模型符合网络设备的业务要求。目前,由测试人员根据YANG模型配置测试用例,并根据测试用例构建测试报文,然后由网络设备根据测试人员构建的测试报文进行YANG模型测试。目前构建测试报文的效率较低,灵活性较差。
技术实现思路
[0004]本申请提供了一种测试报文的获取方法及装置、存储介质。本申请的技术方案如下:
[0005]第一方面,提供一种测试报文的获取方法,该方法由测试设备执行,该方法包括:获取测试操作类型和目标模型包括的第一节点的信息;根据目标模型和测试操作类型获取测试报文,测试报文中包括测试操作类型和第一节点的信息;向待测的网络设备发送测试报文。
[0006]本申请提供的技术方案,由测试设备根据目标模型中的第一节点的信息和测试操作类型生成测 ...
【技术保护点】
【技术特征摘要】
1.一种测试报文的获取方法,其特征在于,所述方法由测试设备执行,所述方法包括:获取测试操作类型和目标模型包括的第一节点的信息;根据所述目标模型和所述测试操作类型获取测试报文,所述测试报文中包括所述测试操作类型和所述第一节点的信息;向待测的网络设备发送所述测试报文。2.根据权利要求1所述的方法,其特征在于,所述根据所述目标模型和所述测试操作类型获取测试报文,包括:获取所述第一节点在所述目标模型中的位置;根据所述第一节点在所述目标模型中的位置、所述测试操作类型和所述第一节点的信息,生成所述测试报文,所述第一节点的信息在所述测试报文中的位置与所述第一节点在所述目标模型中的位置匹配。3.根据权利要求1所述的方法,其特征在于,所述根据所述目标模型和所述测试操作类型获取测试报文,包括:根据所述目标模型和所述第一节点的信息,获取所述第一节点的父节点的信息;根据所述第一节点的信息和所述第一节点的父节点的信息,获取第一约束条件,所述第一约束条件用于对所述第一节点和所述第一节点的父节点进行合法性验证;基于所述第一约束条件对所述第一节点和所述第一节点的父节点进行合法性验证;在所述第一节点和所述第一节点的父节点通过合法性验证后,获取所述测试报文,所述测试报文包括所述测试操作类型、所述第一节点的信息和所述第一节点的父节点的信息。4.根据权利要求3所述的方法,其特征在于,所述基于所述第一约束条件对所述第一节点和所述第一节点的父节点进行合法性验证,包括:基于所述第一约束条件构建第一链表,所述第一链表中包括至少一条路径,所述路径上的元素与所述第一约束条件中的子条件关联;基于所述第一链表确定第一路径,所述第一路径上的元素关联的子条件不冲突,且所述第一路径上的元素关联的节点包括所述第一节点和所述第一节点的父节点。5.根据权利要求1所述的方法,其特征在于,所述根据所述目标模型和所述测试操作类型获取测试报文,包括:根据所述目标模型和所述第一节点的信息,获取所述第一节点的父节点的信息和所述第一节点的兄弟节点的信息;根据所述第一节点的信息、所述第一节点的父节点的信息和所述第一节点的兄弟节点的信息,获取第二约束条件,所述第二约束条件用于对所述第一节点、所述第一节点的父节点和所述第一节点的兄弟节点进行合法性验证;基于所述第二约束条件对所述第一节点、所述第一节点的父节点和所述第一节点的兄弟节点进行合法性验证;在所述第一节点、所述第一节点的父节点和所述第一节点的兄弟节点通过合法性验证后,获取所述测试报文,所述测试报文包括所述测试操作类型、所述第一节点的信息、所述第一节点的父节点的信息和所述第一节点的兄弟节点的信息。6.根据权利要求5所述的方法,其特征在于,所述基于所述第二约束条件对所述第一节
点、所述第一节点的父节点和所述第一节点的兄弟节点进行合法性验证,包括:基于所述第二约束条件构建第二链表,所述第二链表中包括至少一条路径,所述路径上的元素与所述第二约束条件中的子条件关联;基于所述第二链表确定第二路径,所述第二路径上的元素关联的子条件不冲突,且所述第二路径上的元素关联的节点包括所述第一节点、所述第一节点的父节点和所述第一节点的兄弟节点。7.根据权利要求1至6任一所述的方法,其特征在于,所述测试报文还包括所述第一节点的调整后的取值,所述根据所述目标模型和所述测试操作类型获取测试报文,还包括:根据所述第一节点的信息获取第三约束条件,所述第三约束条件用于对所述第一节点的取值进行调整;根据所述第三约束条件对所述第一节点的取值进行调整,获取所述第一节点的调整后的取值。8.根据权利要求3或4所述的方法,其特征在于,所述第一约束条件还包括所述目标模型包括的第二节点的信息,所述测试报文还包括所述第一节点的调整后的取值和所述第二节点的调整后的取值,所述根据所述目标模型和所述测试操作类型获取测试报文,还包括:根据所述第一节点的信息和所述第二节点的信息获取第四约束条件,所述第四约束条件用于对所述第一节点的取值和所述第二节点的取值进行调整;根据所述第四约束条件对所述第一节点的取值和所述第二节点的取值进行调整,获取所述第一节点的调整后的取值和所述第二节点的调整后的取值。9.根据权利要求5或6所述的方法,其特征在于,所述测试报文还包括所述第一节点的调整后的取值和所述第一节点的兄弟节点的调整后的取值,所述根据所述目标模型和所述测试操作类型获取测试报文,还包括:根据所述第一节点的信息和所述第一节点的兄弟节点的信息获取第五约束条件,所述第五约束条件用于对所述第一节点的取值和所述第一节点的兄弟节点的取值进行调整;根据所述第五约束条件对所述第一节点的取值和所述第一节点的兄弟节点的取值进行调整,获取所述第一节点的调整后的取值和所述第一节点的兄弟节点的调整后的取值。10.根据权利要求5或6所述的方法,其特征在于,所述第二约束条件还包括所述目标模型包括的第三节点的信息,所述测试报文还包括所述第三节点的调整后的取值、所述第一节点的调整后的取值和所述第一节点的兄弟节点的调整后的取值,所述根据所述目标模型和所述测试操作类型获取测试报文,还包括:根据所述第一节点的信息、所述第一节点的兄弟节点的信息和所述第三节点的信息获取第六约束条件,所述第六约束条件用于对所述第一节点的取值、所述第一节点的兄弟节点的取值和所述第三节点的取值进行调整;根据所述第六约束条件对所述第一节点的取值、所述第一节点的兄弟节点的取值和所述第三节点的取值进行调整,获取所述第一节点的调整后的取值、所述第一节点的兄弟节点的调整后的取值和所述第三节点的调整后的取值。11.根据权利要求1至10任一项所述的方法,其特征在于,所述第一节点的信息包括所述第一节点的名称、所述第一节点的类型和所述第一节点的属性信息中的至少一种,所述第一节点的类型包括容器、叶子、叶子列表、列表、选择和事
件中的一种。12.根据权利要求1至11任一项所述的方法,其特征在于,所述方法还包括:获取m个模型文件,每个所述模型文件用于描述所述目标模型中的至少一个子模型,每个所述子模型包括至少一个所述节点,m为正整数;根据所述m个模型文件确定n个子模型,n为正整数;根据所述n个子模型确定所述目标模型。13.根据权利要求12所述的方法,其特征在于,所述根据所述m个模型文件确定n个子模型包括:对于每个所述模型文件,根据所述模型文件确定至少一个节点以及节点之间的关联关系;根据所述至少一个节点和节点之间的关联关系构建子模型。14.根据权利要求12或13所述的方法,其特征在于,所述根据所述n个子模型确定所述目标模型包括:获取所述n个子模型中的每个子模型中的各个节点的信息;根据所述n个子模型中的节点的信息构建所述目标模型。15.根据权利要求14所述的方法,其特征在于,所述节点的信息包括引用声明、挂接声明、归属声明和基础声明中的至少一种,所述根据所述n个子模型中的节点的信息构建所述目标模型,包括:对于所述n个子模型中的每个子模型:如果所述子模型中的节点的信息包括引用声明,将所述引用声明对应的引用信息引入至所述引用声明对应的节点;如果所述子模型中的节点的信息包括挂接声明,将所述挂接声明对应的挂接信息挂接至所述挂接声明对应的节点;如果所述子模型中的节点的信息包括归属声明,将所述子模型引入至所述归属声明对应的归属信息所指示的子模型中;如果所述子模型中的节点的信息包括基础声明,根据所述基础声明对应的节点在所述子模型中的位置在基础模型中创建相应的节点,所述基础模型是所述n个子模型中的一个或者所述基础模型由所述n个子模型中的至少两个子模型经过引入操作得到。16.根据权利要求1至15任一项所述的方法,其特征在于,所述测试...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。