Xena,Xena Networks公司的网络测试仪,也能覆盖以太网L2~L7层测试仪,但功能较简单,界面也很简洁,用起来比较直观方便。

1.Xena的自动化测试场景

测试PC上的AT框架-->Tcl驱动库SIG_Teq_Xena.tcl-----(以太网线)----->Xena chassis

PC上安不安装Xena的客户端XenaManager都可以。Xena的chassis内部命令不是Tcl格式的命令,而是Xena自己支持定义的xena script command;

Tcl驱动只是与xena chassis之间建立1个socket session来把xena script command下发到chassis,并获取返回值.所以测试PC上可以不安装Xena的桌面客户端XenaManager,但最好也装上吧,方便即时查看script执行效果.

安装完XenaManager后,其安装目录下会有1个XenaScriptClient_20.exe,这个应该是用来通过其手动下发xena script command到chassis的,没什么用。

因为Xena chassis内部命令是独有格式的xena script command,所以SIG_Teq_Xena.tcl文件里不需要“package require xxx”加载什么xena专用的库

2.Xena的架构层次

xena用于接收执行command的agent应该是在仪表chassis内,但桌面client也提供1个简单的脚本运行框,可以在windows下单句的执行command

因为xena chassis接收的是自己格式的command,所以采用的封装语言可以是任意的,如:Tcl,Rerl,Python,Java,Excel/VBA...只要和chassis之间建立1条Tcp/Ip连接,通过它发送command到xena hardware和接收return line就行。client软件不是必须安装的.

测试PC与Xena chassis之间建立socket时,22611是xena-chassis规定的scripting port。

      下发到chassiscommand是不区分大小写的,chassis返回的内容是大写的

xena的仪表管理层级从client application上看是:

           testbed--->chassis--->module--->port

1. testbed是管理软件上的逻辑的,可以人工添加多个.

2. 1个chassis对应着1个ip,即1个物理机箱,从这一级开始才是自动化要考虑的.一般1个chassis只有1个module 0,1个module下面有多个port。

3.Xena的API格式

chassis command处理的是机箱本身的基本信息和配置,而不是它的module模块或port测试端口用于脚本会话的整体控制。命令的返回值一般是包含多个元素的list列表格式。

一些command命令同时有set和get的功能,在末尾加"?"是get。

Xena的内部command的一般格式,命令前缀不同,主要分下面几类:

(1)"C_"  chassis机箱的一些参数设置和读取
        (2)"M_"  module(相当于Ixia里的card层级,xena没有可插拔式的板卡)的一些参数设置和读取
        (3)"P_"  port的一些参数设置和读取
        (4)"PS_" stream的一些参数设置和读取

Xena的内部command下发后,chassis返回值及其含义:

<OK>     下发到chassis并执行成功

<NOTLOGGEDON>    事先没有用C_LOGON + 正确的chassis password登录机箱

<NOTRESERVED>    没有对你想更改的资源下发a x_RESERVATION   ?

<NOTWRITABLE>    这个参数是只读的,不能写

<NOTREADABLE>    这个参数是只写的,不能读

<NOTVALID>       这个操作在当前的机箱状态下是无效的,不能执行的,例如更改正在打流的端口配置参数

<BADMODULE>      提供的module的索引值参数越界

<BADPORT>        提供的port的索引值参数越界

<BADINDEX>       参数的子索引值"sub-index"是错误的

<BADSIZE>        提供的数据的值的大小不恰当,超出合理范围

<BADVALUE>       提供的数据值是错误的

<FAILED>         操作失败,没能产生结果

4.Xena AT的特点

xena配置流量的报文头(EthernetII,mpls,vlan,ip都属于报文头,后面的才是具体报文内容)

  1. 获得或修改前面添加的字段块的具体参数值,一般转化成16进制或2进制数处理
  2. Xena比较特殊,它不能像Ixia,SpirentTestcenter那样直接设置字段值,而是要按照报文字段所处的字节直接更改16进制或2进制的字节值,设置完后直接作为一个整体下发。这点使得Xena的驱动库编程很繁琐麻烦,但有一个好处,在编码过程中,帮你复习了各种协议报文的构造,各个字段的排列顺序,所处位置,每个字节代表什么意思等等。写完这个库后,收获还是非常大的。

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

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

  1. Ixia测试仪的自动化

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

  2. SpirentTestcenter测试仪的自动化

    SpirentTestcenter,美国思博伦公司的网络测试仪表,覆盖以太网L2~L7层,使用过的仪表中功能最强大的. 1.SpirentTestcenter的自动化测试场景 测试PC上的AT框架-- ...

  3. 案例一:利于Python调用JSON对象来实现对XENA流量测试仪的灵活发包测试,能够适应Pair,Rotate,1-to-Many等多种拓扑模型

    硬件:XENA Valkyrie 或 Vantage主机,测试板卡不限,本方法适用于其100M~400G所有速率端口 环境配置:Python 3 实现功能: 1.控制流量仪进行流量测试,预定配置的流量 ...

  4. Xena L23网络测试仪Valkyrie使用技巧100例,目录

    Xena L23网络测试仪Valkyrie使用技巧100例,先写个目录 100例,会不会有点多,写不完... ^_^ 第1次编辑于2019-11-27 22:05:52, Evan YE. 编号 标题 ...

  5. SDH误码仪MP1570A的自动化

    MP1570A是日本安立公司的用于SDH测试的误码仪. 1.MP1570A的自动化测试场景和原理 任意测试PC--(telnet)-->测试PC(Tcl Interrupt)-->SIG_ ...

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

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

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

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

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

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

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

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

随机推荐

  1. Android之Viewpager+Fragment实现懒加载

    我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用.而ViewPager默认会缓存三页数据,即:Viewpager每加载一个Fra ...

  2. 解决魅族MX5卸载debug-app不干净,导致安装、升级不成功的问题

    环境:魅族MX5,Android 5.1 问题:开发app使用真机调试后,在桌面上拖动图标卸载app-debug.apk,然后安装签名版本的app-release.apk提示替换xxx版本,按确定后提 ...

  3. .NET设计规范————类型设计规范

    类型设计规范 从CLR的角度看,只有值类型和引用类型两种类型,但是从框架设计的角度我们把类型从逻辑上分了更多的组.如下所示: 类是引用类型的一般情况,占了框架中的大多情况,类的流行归于它支持面向对象的 ...

  4. [Spring MVC] - 500/404错误处理

    Spring MVC中404 找不到页面错误可以直接使用web.xml中配置: 在<web-app/>节点内加入: <error-page> <error-code> ...

  5. eclipse配置c开发环境

    // */ // ]]> eclipse配置c开发环境 1. eclipse配置c开发环境 1.1. 缘起 1.2. cygwin 1.3. eclipse 1.4. 配置 1 eclipse配 ...

  6. C# 使用ffmpeg.exe进行音频转换完整demo-asp.net转换代码

    C# 使用ffmpeg.exe进行音频转换完整demo-asp.net转换代码 上一篇说了在winform下进行调用cmd.exe执行ffmpeg.exe进行音频转换完整demo.后来我又需要移植这个 ...

  7. 转 listener.log文件过大导致oracle数据库连接非常慢

    数据库(31)  最近发现oracle数据库连接非常慢,sqlplus很快,用客户端就很慢,甚至会无响应. 然后服务器内存一下就飙升到了90%,不是表空间占满了,也不是数据库连接数占满了.重启还是一样 ...

  8. 循环写入Insert 与 SqlBulkcopy

    /* Insert by Loop */ cmd.CommandText = "insert into BizSharedStore (BizSharedStoreId,BizSharedI ...

  9. 关于Spring

    Jetty默认采用NIO结束在处理I/O请求上更占优势,在处理静态资源时,性能较高.Tomcat默认采用BIO处理I/O请求,在处理静态资源时,性能较差. 依赖注入的意义:让组件依赖于抽象,当组件要与 ...

  10. MVC4 +EasyUI Tabs 使用

    Tabs 右键菜单功能实现 前端 <div id="tabs" class="easyui-tabs" fit="true" bord ...