OSPFv2协议简介
OSPFv2(开放式最短路径优先版本2)是互联网协议(IP)网络的路由协议。它使用链路状态路由(LSR)算法,并且属于在单个自治系统(AS)内运行的内部网关协议(IGP)组。
测试拓扑
典型测试场景介绍
1.测试仪表端口Port_1模拟OSPFv2协议会话与DUT设备端口Gi0/0/1建立OSPFv2邻居。
2.测试仪表端口Port_2创建一个interface接口模拟一个路由器设备与DUT设备端口Gi0/0/2在同一网关。
3.测试仪表端口Port_1模拟OSPFv2协议创建一条External LSA发布路由。
4.被测DUT设备生成路由表后,测试仪表端口Port_2创建interface->OSPFv2 External的路由绑定流。
5.发送流量,检查流量没有丢包,路由正常。
手动测试仪表配置
1 预约两个端口Port_1、Port_2
2 端口Port_1创建一个ipv4 interface
3 端口Port_1创建一个OSPFv2会话并绑定到interface
4 端口Port_2创建一个ipv4 interface
5 端口Port_2创建一条interface->OSPFv2 External的路由绑定流StreamTemplate_1
6 订阅StreamBlockStats统计
7 启动OSPFv2协议,查看设备路由,启动Port_2的绑定流StreamTemplate_2-1
8 查看流量收发包相等,没有丢包
Renix Python API自动化测试
测试前置步骤
导入Renix Python API修改当前使用的设备平台
测试步骤
1.预约两个端口Port_1、Port_2
2.端口Port_1创建一个ipv4 interface
3.端口Port_1创建一个OSPFv2会话并绑定到interface
4.端口Port_2创建一个ipv4 interface
5.端口Port_2创建一条interface->OSPFv2 External的路由绑定流StreamTemplate_1
★技巧1:OSPFv2绑定流的源目的端点需要通过LSA对象的get_relatives函数获取,具体方法如下
★技巧2:接口interface绑定流的IPv4源目的端点是IPv4Layer对象,使用方法如下
★技巧3:通过API的唯一标识handle获取对应的对象使用ROMManager.get_object() 例如: StreamObject = ROMManager.get_object('StreamTemplate_1')
6.订阅统计
7.启动OSPFv2协议,启动Port_2的绑定流StreamTemplate_1
★技巧4:停流获取统计必须等待3秒才能获取到稳定统计数据
8.查看流量收发包相等,没有丢包
测试后置步骤
释放占用的仪表端口
总结
脚本语言可以将测试过程编写成脚本,相比手动测试,自动化测试优势在于可以24小时不间断执行测试,能大大提高测试效率,减少人为失误。自动化测试的难点在于脚本开发阶段需要投入比手工测试多出数倍的工作量,而通过学习总结自动化测试中API使用的技巧可以提高自动化开发效率,达到事半功倍的效果。
附录:脚本源码