RENIX_Python_脚本如何实现Raw流的发送
本文关键词:数通一体化测试、流量测试、协议仿真
一、Renix测试软件介绍
Renix 是信而泰推出的适用于研发测试场景的数通一体化测试软件,该软件配合适当的信而泰机箱和接口卡,可对 DUT(被测设备)执行流量测试、协议仿真和性能测试。适用于复杂网络设备在研发阶段的测试,如交换机、路由器、防火墙等。本文我们将为您介绍脚本如何实现Raw流发送。
Raw发送就是通过信而泰测试仪进行普通打流。
要进行Raw发送有以下几个必要条件:
1. 连接机箱,占用测试端口
2. 建立流量
3. 发送流量
4. 停止流量
5. 查看统计结果
通过该API来建立Raw流
通过该API来发送Raw流
通过该API来停止Raw流的发送
通过该API来获取Raw流测试之后的统计结果
通过该API来订阅统计(必须先订阅统计,才能获取到统计值)
from renix_py_api.renix import*
from renix_py_api import renix
from time import sleep
initialize()
#获取根节点SysEntry
sys_entry = get_sys_entry()
#预约测试仪10.0.11.106槽位1上的的端口1和端口2
port_location = ('//10.0.11.106/1/1','//10.0.11.106/1/2')
port1 = Port(upper=sys_entry,Location=port_location[0])
port2 = Port(upper=sys_entry,Location=port_location[1])
bring_port_online_cmd = BringPortsOnlineCommand(PortList=[port1.handle,port2.handle])
bring_port_online_cmd.execute()
#创建流量s1
s1 = StreamTemplate(upper=port1)
#订阅统计
s1.set_relatives('RxPort', port2, EnumRelationDirection.TARGET)
resultview_create = CreateResultViewCommand(DataClassName=StreamStats.cls_name())
resultview_create.execute()
page_result_view = sys_entry.get_children('PageResultView')[0]
subscribe_result_cmd = SubscribeResultCommand(ResultViewHandles=page_result_view.handle)
subscribe_result_cmd.execute()
commit = CommitCommand()
commit.execute()
sleep(1)
#开始发送流量s1
start = renix.StartAllStreamCommand()
start.execute()
#发流时长
sleep(2)
#停止发送流量s1
stop = renix.StopAllStreamCommand()
stop.execute()
#等待3秒之后获取关于s1的StreamStats统计
sleep(3)
result_query = page_result_view.get_children()[0]
s1_stats = result_query.get_children('StreamStats')[0]
print(s1_stats.StreamBlockID, 'TxStreamFrames:', s1_stats.TxStreamFrames, 'RxStreamFrames:', s1_stats.RxStreamFrames)