SpirentTestcenter,美国思博伦公司的网络测试仪表,覆盖以太网L2~L7层,使用过的仪表中功能最强大的。

1.SpirentTestcenter的自动化测试场景

测试PC上的AT框架---->Tcl驱动库SIG_Teq_Stc.tcl(加载SpirentTestCenter库)-----(以太网线)----->Stc chassis

Stc的chassis内部命令也是Tcl格式的,但调试时有个缺点,script的执行效果不能即时反应到Spirent TestCenter Application客户端操作界面上,观察结果不方面。

2.SpirentTestcenter的Tcl API组织架构

Spirent TestCenter 所有GUI上提供的功能都有对应的API接口,它的API组织架构是面向对象的,并且提供对诸如Tcl  Java  Perl Ruby C++等多种语言的支持.

SpirentTestcenter测试仪的自动化-LMLPHP

SpirentTestcenter测试仪的自动化-LMLPHP

3.Spirent TestCenter Tcl API大致格式

STC API通过一系列command/function来操作object,操作的是chassis内部产生的object handle对象句柄,这个handle存在于整个进程之中.

命令格式:

FunctionName   ObjectType/ObjectHandle/DDNpath  attributeName(attributeName必须以"-"开头) attrNameValue(属性名称 值)/DANpath [Value]/relationReference

eg:(以上三种情况)

stc::create  Project

stc::get $project_handle

stc::create Project.Port    /    stc::get $project_handle.Port

stc::get $port -location   /   stc::get $port -active -location

stc::config $port -active false -location "//10.1.1.1/1/1"

stc::create $streamblock -under $port  -frameconfig ""  -ethernet.EthernetII.etherType 880B  /  stc::config $project -Port.active false  /  stc::get $project -Port.active

stc::get $port1 -children  (children里面是一对相关的对象属性)

也有一些命令后面是直接跟一些具体的值的,如:

stc::connect //172.168.1.1          stc::reserve //172.168.1.1/1/1          stc::sleep 5

path的表示方式:

• Direct-Descendant Notation (DDN)         直接子代符号

• Descendant-Attribute Notation (DAN)

• Indexed Notation (DDN and DAN)

eg:

stc::config $project.Port -active false -location "//10.1.1.1/1/1"

stc::config $project -port(1).active false -port(2).active false

set enabled [stc::get $port1 -StreamBlock(2).enableControlPlane]

其基本命令都是stc::xxx,这里stc::表示STC的命名空间来区分确认函数,并且函数名都小写,对象名和属性名不区分大小写

常用的“xxx”有如下:

apply   所有配置方面的command敲入后都要stc::apply下 

config

connect

create

delete

disconnect

get

help

log

perform

release

reserve

sleep        解释器停止执行一段时间

subscribe

unsubscribe

waitUntilComplete

4.一些Stc AT时的注意事项

(1)Stc的客户端Spirent TestCenter Application安装完成后目录下有定义Stc chassis内部Tcl命令的.tcl库文件:

C:/Program Files/Spirent Communications/Spirent TestCenter 3.55/Spirent TestCenter Application/SpirentTestCenter.tcl.

这个库文件需要写入到Tcl包目录下的pkgIndex.tcl,以便SIG_Teq_Stc.tcl文件里可以“package require SpirentTestCenter”找到并加载该Tcl库

(2)Spirent TestCenter Application没有自带的Tcl interrupt,所以操作Stc时可以使用任何一个Tcl interrupt,只要把用到的库文件都加载了即可

本文只是简单的Spirent TestCenter自动化原理的介绍,详细的SpirentTestCenter Tcl API可以参阅具体的API官方文档。

05-11 17:39