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++等多种语言的支持.

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官方文档。

SpirentTestcenter测试仪的自动化的更多相关文章

  1. Xena测试仪的自动化

    Xena,Xena Networks公司的网络测试仪,也能覆盖以太网L2~L7层测试仪,但功能较简单,界面也很简洁,用起来比较直观方便. 1.Xena的自动化测试场景 测试PC上的AT框架--> ...

  2. Ixia测试仪的自动化

    Ixia,美国Ixia公司的通信网络测试仪. 1.Ixia的自动化测试场景 测试PC(安装IxOS)AT框架-->Tcl驱动库SIG_Teq_Ixia.tcl(加载 IxTclHal库)---- ...

  3. 自动化SQL注入工具 sqlmap 使用手册

    0x00 sqlmap介绍 什么是sqlmap? sqlmap是一个开源的渗透测试工具,它自动化了检测和利用SQL注入缺陷 以及接管数据库服务器的过程.它配备了一个强大的检测引擎 ,以及终极渗透测试仪 ...

  4. 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)

    通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 ja ...

  5. 细说前端自动化打包工具--webpack

    背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...

  6. python自动化测试(2)-自动化基本技术原理

    python自动化测试(2) 自动化基本技术原理 1   概述 在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是 透过界面看数据. 掌握上面的这样的本领 ...

  7. Appium移动自动化框架

    引言:Appium 是一个移动端自动化测试开源工具,可以针对不同的平台用一套API来编写测试用例.本文对Appium自动化测试框架的功能进行了概括. 本文选自<软件自动化测试开发>. Ap ...

  8. 前端自动化构建工具gulp记录

    一.安装 1)安装nodejs 通过nodejs的npm安装gulp,插件也可以通过npm安装.windows系统是个.msi工具,只要一直下一步即可,软件会自动在写入环境变量中,这样就能在cmd命令 ...

  9. CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维

    前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括 ...

随机推荐

  1. file_get_contents()函数

    $data = file_get_contents('http://www.zgjmwl.com/jinshui/pro_one/ceshi_a.php'); var_dump(substr($dat ...

  2. es6 ... 表达

    ... 包含0个或n个属性, { ...state.counters [id]: state.counters[id] - 1 } 只改变其中的id相对应的属性,其他保持不变

  3. cWeb开发框架,基于asp.net的cWeb应用开发平台介绍(一)

    cWeb开发框架是基于asp.net的B/S应用开发平台,采用三层架构理论,应用简单.代码简洁.运行快速. cWeb是bubufx提供,是分享资源,无任何版权限制,bubufx继续传承互联网精神,可随 ...

  4. rails下react的demo

    gemfile gem 'react-rails' gen一下 react:install 创建组件 react:component MyComponent name:string age:int v ...

  5. JAVA代码发送邮件示例和解释

    下载和上传附件.发送短信和发送邮件,都算是程序中很常用的功能,之前记录了文件的上传和下载还有发送短信,由于最近比较忙,邮件发送的功能就没有时间去弄,好在昨晚终于走通代码成功以163邮箱发送邮件到qq邮 ...

  6. json 与jsonp 特点及区别

    简单描述JSON跟JSONP的区别以及实战 什么是JSON? 前面简单说了一下,JSON是一种基于文本的数据交换方式,或者叫做数据描述格式,你是否该选用他首先肯定要关注它所拥有的优点. JSON的优点 ...

  7. 黄聪:微信支付错误两个问题的解决:curl出错,错误码:60

    如下是运行微信支付测试代码时出错代码: Warning: curl_setopt() expects parameter 2 to be long, string given in D:\wwwroo ...

  8. 清除系统日志及数据库(sql server)日志最佳实践

    在一个项目中遇到的问题:系统日志过大,后来用delete语句删除了(相当的慢),结果数据库日志又变成很大了(差不多10G),所以又得把数据库日志删除. 方法: --备份系统中的部份日志--SELECT ...

  9. Windows服务器上使用bat定时执行php

    windows上和linux上有一个类似的cmd和bat文件,bat文件类似于shell文件,执行这个bat文件,就相当于依次执行里面的命令(当然,还可以通过逻辑来实现编程),所以,我们可以利用bat ...

  10. ubuntu下快速制作linux 系统安装盘

    1. 安装unetbootin sudo apt-get install unetbooin 2. 超级系统管理员启动,选择镜像文件并安装 先插入空白USB,然后打开终端输入命令 su - 输入密码, ...