SpirentTestcenter自动化测试脚本TCL.docx

上传人:b****6 文档编号:16770155 上传时间:2023-07-17 格式:DOCX 页数:11 大小:16.56KB
下载 相关 举报
SpirentTestcenter自动化测试脚本TCL.docx_第1页
第1页 / 共11页
SpirentTestcenter自动化测试脚本TCL.docx_第2页
第2页 / 共11页
SpirentTestcenter自动化测试脚本TCL.docx_第3页
第3页 / 共11页
SpirentTestcenter自动化测试脚本TCL.docx_第4页
第4页 / 共11页
SpirentTestcenter自动化测试脚本TCL.docx_第5页
第5页 / 共11页
SpirentTestcenter自动化测试脚本TCL.docx_第6页
第6页 / 共11页
SpirentTestcenter自动化测试脚本TCL.docx_第7页
第7页 / 共11页
SpirentTestcenter自动化测试脚本TCL.docx_第8页
第8页 / 共11页
SpirentTestcenter自动化测试脚本TCL.docx_第9页
第9页 / 共11页
SpirentTestcenter自动化测试脚本TCL.docx_第10页
第10页 / 共11页
SpirentTestcenter自动化测试脚本TCL.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SpirentTestcenter自动化测试脚本TCL.docx

《SpirentTestcenter自动化测试脚本TCL.docx》由会员分享,可在线阅读,更多相关《SpirentTestcenter自动化测试脚本TCL.docx(11页珍藏版)》请在冰点文库上搜索。

SpirentTestcenter自动化测试脚本TCL.docx

SpirentTestcenter自动化测试脚本TCL

SpirentTestcenter自动化测试脚本TCL-1基本功能

2015-06-18 浏览(69)

#!

/bin/sh

exectclsh"$0"${1+"$@"}

#-----------------------------------------------------

#

#

#-----------------------------------------------------

 

#引用STCAPI,的路径

source{C:

ProgramFilesSpirentCommunicationsSpirentTestCenterTestCenter}

 

#开启日志,-logTo:

日志保存路径,使用stdout为标准输出; -loglevel:

可选DEBUG、INFO、WARN和ERROR四种;

stc:

:

configautomationoptions-logTo""-logLevelDEBUG

 

#配置机框Ip槽位端口号

 

setchassisAddress""

 

setslotPort1"8/25"

 

setslotPort2"8/26"

 

#创建一个项目

 

setProjectA[stc:

:

createproject]

 

#在项目ProjextA下创建一个发送端口和一个接收端口

 

setTxPort[stc:

:

createport-under$ProjectA]

 

setRxPort[stc:

:

createport-under$ProjectA]

 

setportReturn[stc:

:

config$TxPort-location"//$chassisAddress/$slotPort1"]

 

setportReturn[stc:

:

config$RxPort-location"//$chassisAddress/$slotPort2"]

 

#配置端口类型,根据实际端口类型选择参数:

Ethernet10GigFiber、Ethernet100GigFiber、Ethernet40GigFiber、Ethernet10GigCopper、EthernetCopper等;

 

setethernetFiber

(1)[stc:

:

create"Ethernet10GigFiber"-under$TxPort-Name"ethernetFiber1"]

 

setethernetFiber

(2)[stc:

:

create"Ethernet10GigFiber"-under$RxPort-Name"ethernetFiber2"]

 

#在发送端口下创建StreamBlock

(1)

 

setStreamBlock

(1)[stc:

:

create"StreamBlock" 

 -under$TxPort 

         -frameConfig"" 

 -FrameLengthMode"FIXED" 

 -FixedFrameLength"222" 

         -name"StreamBlock_1"]

 

#在StreamBlock

(1)中添加EthII头

 

setStrEthII[stc:

:

createethernet:

EthernetII-under$StreamBlock

(1)-nameeht_1-srcMac11:

11:

11:

11:

11:

11-dstMac22:

22:

22:

22:

22:

22]

 

#添加IPv4头 

 

setstrIPv4[stc:

:

createipv4:

IPv4-under$StreamBlock

(1)-nameIpv4_1-sourceAddr-destAddr

 

#添加TCP头

 

setstrTcp[stc:

:

createtcp:

Tcp-under$StreamBlock

(1)-nametcp1-sourcePort10-destPort20]

 

#创建Streamblock2

 

setStreamBlock

(2)[stc:

:

create"StreamBlock" 

 -under$TxPort 

 -frameConfig"" 

 -FrameLengthMode"FIXED" 

 -FixedFrameLength"222" 

 -name"StreamBlock_2"]

 

setStrEthII[stc:

:

createethernet:

EthernetII-under$StreamBlock

(2)-nameeht_2-srcMac31:

11:

11:

11:

11:

11-dstMac42:

22:

22:

22:

22:

22]

 

#添加IPv4头 

 

setstrIPv4[stc:

:

createipv4:

IPv4-under$StreamBlock

(2)-nameIpv4_2-sourceAddr-destAddr

 

#添加TCP头

 

setstrTcp[stc:

:

createudp:

Udp-under$StreamBlock

(2)-nametcp_2-sourcePort40-destPort50]

 

#配置StreamBlock

(1)的modifier可以选择RangeModifer、RandomModifier、TableModifier

 

#StreamBlock1源Ip随机

 

setRandomModifier1[stc:

:

createRandomModifier-under$StreamBlock

(1)-Mask{ -RecycleCount10-Offset0-EnableStreamFALSE-OffsetReference{}]

 

#StreamBlock2目的Ip递增

 

setRangeModifier2[stc:

:

createRangeModifier-under$StreamBlock

(2)-ModifierModeINCR-Mask{-StepValue{-RecycleCount10-RepeatCount0-Data{-EnableStreamFALSE-Offset0-OffsetReference{}-Activetrue]

 

#在发送端口创建generator

 

setgenerator1[stc:

:

get$TxPort-children-Generator] 

 

stc:

:

config$generator1-Name"Generator_1"

 

#配置generator1,

 

setgeneratorConfig1[stc:

:

get$generator1-children-GeneratorConfig]

 

#-------------------------------配置说明--------------------------------------------

#SchedulingModes属性,可选参数:

PORT_BASED、RATE_BASED、PRIORITY_BASED、MANUAL_BASED

#DurationMode属性,可选参数:

CONTINUOUS、BURSTS、SECONDS等,

#LoadUnit属性,可选参数:

PERCENT_LINE_RATE、FRAMES_PER_SECOND、BITS_PER_SECOND、

#         KILOBITS_PER_SECOND 、MEGABITS_PER_SECOND、INTER_BURST_GAP

#---------------------------------------------------------------------------------

 

stc:

:

config$generatorConfig1-SchedulingMode"PORT_BASED" 

               -DurationMode"BURSTS" 

               -BurstSize1 

   -Duration20 

  

#在接收端口创建analyzer  

 

setanalyzer1[stc:

:

get$RxPort-children-Analyzer]

 

#配置analyzer

 

stc:

:

config$analyzer1-Name"Analyzer1"

setanalyzerConfig1[stc:

:

get$analyzer1-children-AnalyzerConfig]

 

#-------------------------------配置说明--------------------------------------------

#TimestampLatchMode属性,可选参数:

START_OF_FRAME、END_OF_FRAME

#

#---------------------------------------------------------------------------------

stc:

:

config$analyzerConfig1-TimestampLatchMode"END_OF_FRAME"-JumboFrameThreshold"1500"-OversizeFrameThreshold"2000"-UndersizeFrameThreshold"64"-AdvSeqCheckerLateThreshold"1000"-Name"AnalyzerConfig_1"

#配置实时结果获取

#结果保存在与脚本相同路径下,结果文件名为result

 

setgeneratorResult[stc:

:

subscribe-Parent$ProjectA 

-ResultParent$TxPort 

-ConfigTypeGenerator 

-resulttypeGeneratorPortResults 

-filenameprefix"result"]

 

setanalyzerResult[stc:

:

subscribe-Parent$ProjectA 

 -ResultParent$RxPort 

 -ConfigTypeAnalyzer 

 -resulttypeAnalyzerPortResults 

 -filenameprefix"result"] 

 

#连接机框

 

setresultReturn[stc:

:

connect$chassisAddress]

 

#占用端口

 

setresultReturn[stc:

:

reserve"//$chassisAddress/$slotPort1"]

 

setresultReturn[stc:

:

reserve"//$chassisAddress/$slotPort2"]

 

#配置抓包端口

 

setcaptureRx[stc:

:

get$RxPort-children-capture]

 

setcaptureTx[stc:

:

get$TxPort-children-capture]

 

#-----------------------------------配置说明-------------------------------------

#

#mode属性,可选参数:

REGULAR_MODE,抓所有报文;SIG_MODE:

抓有signature的报文。

#Buffermode属性,可选参数:

WRAP当缓冲区写满时,回滚,继续抓包, STOP_ON_FULL:

当缓冲区写满时,停止

#srcMode属性,可选参数:

TX_MODE、RX_MODE、TX_RX_MODE

#

#-----------------------------------------------------------------------------

 

stc:

:

config $captureRx-modeREGULAR_MODE-BufferModeWRAP-srcModeRX_MODE 

 

#stc:

:

performStreamBlockUpdate-streamBlock"$StreamBlock

(1)"

 

#stc:

:

performStreamBlockUpdate-streamBlock"$StreamBlock

(2)"

 

#建立逻辑端口与物理端口的映射

 

setresultReturn[stc:

:

performsetupPortMappings]

 

#执行apply

 

setresultReturn[stc:

:

apply]

 

#-------------------------------------------------------------------------------

#                  配置完成

#-------------------------------------------------------------------------------

 

#开始analyzer

 

setanalyzerCurrent[stc:

:

get$RxPort-children-analyzer]

 

stc:

:

performanalyzerStart-analyzerList$analyzerCurrent

 

#开启抓包

 

stc:

:

performCaptureStart-captureProxyId$captureRx

 

#开始发包

 

setgeneratorCurrent[stc:

:

get$TxPort-children-generator]

 

stc:

:

performgeneratorStart-generatorList$generatorCurrent

 

#等待执行结束

stc:

:

sleep20

 

#停止发包

 

stc:

:

performgeneratorStop-generatorList$generatorCurrent

 

#停止抓包

 

stc:

:

performCaptureStop-captureProxyId$captureRx

#保存抓包结果

 

stc:

:

performCaptureDataSave-captureProxyId$captureRx-FileName""-FileNamePath"D:

\eclipse\workspace\Result\"

 

#停止analyzer

 

stc:

:

performanalyzerStop-analyzerList$analyzerCurrent

 

#释放端口

 

stc:

:

release[stc:

:

get$TxPort-location]

 

stc:

:

release[stc:

:

get$RxPort-location]

 

#与机框断开连接

 

stc:

:

disconnect$chassisAddress

 

#删除project

 

stc:

:

delete$ProjectA

 

stc:

:

performResetConfig-configsystem1

 

puts"ok"

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2