Ixia测试仪的自动化

news/2024/11/26 13:30:12/

Ixia,美国Ixia公司的通信网络测试仪。

1.Ixia的自动化测试场景

      测试PC(安装IxOS)AT框架-->Tcl驱动库SIG_Teq_Ixia.tcl(加载 IxTclHal库)-----(以太网线)----->Ixia chassis

      IxOS是Ixia的基本软件包,主要包含IxServer(这个服务IxServerService运行在Ixia机框里的windowsOS上,处理测试机与测试仪之间的通信),IxExplorer(测试机上的客户端操作界面,访问所有的Ixia硬件功能),TclServer。

      测试机上IxOS安装完成后,其安装目录下有定义Ixia chassis内部Tcl API命令的.tcl库文件:C:/Program Files/Ixia/IxOS/5.30-EA-SP2/TclScripts/bin/IxiaWish.tcl。需要在自己的库文件里“package require  IxTclHal”加载。

2.Ixia的自动化架构和Tcl API层次

      

 

      

      IxHal是一个Ixia chassis上的硬件抽象层,是一个基于C++的应用,为Ixia硬件提供了一个更高层次的抽,与IxServer一起操作Ixia hardware。IxHal同时还起到一个信息缓存的作用,下发的参数先缓存到IxHal,再写到硬件里去,从硬件读取的参数也是先读取到IxHal中,再到Tcl应用也就是Tcl Console里

      IxTclHal是客户端上的Tcl库,访问Ixia硬件平台的所有Tcl API都由它提供。通过它可以下发各种配置,创建各种方案(如流量)并执行动作。这些Tcl命令具体由C/C++语言来实现的。测试机安装IxOS客户端后,安装目录下有ixTclHal.tcl等库文件和IxTCLHAL.dllIxTCLHALDLL提供了连接到IxTclHal Command Library的接口。

3.Ixia Tcl API命令格式

      分为low-level和high-level两种:

      (1) Lower-level API  底层API函数(基于机箱基本操作配置的底层API,面向对象)  

            底层API一般是面向对象的函数,以操作的对象为函数名 + 标准方法

            实际上这个函数式定义了一个结构,结构成员有很多属性,用户设置特定的属性值来定义一个结构,最后一次性下发到机箱中生效

            eg:  port   stream  filter   capture   captureBuffer   stat  ip

      (2) higher-level API高层API函数(经过二次封装的函数,面向过程)

            高层API一般是面向过程的函数,后跟参数直接由interpreter解释后立即执行,一般以”ix”打头。

            eg:  ixConnectToChassis  (以ix开头的proc)

4.IxTclHal用于low-level API的常用标准方法

          

5.一般调用IxTclHal command的测试过程步骤    

      (1) 加载Ixia Tcl命令库

             Tcl解释器中加载IxTclHal.dll--TclHal类和方法;

             加载定义测试缺省值的Tcl初始化文件;

             加载通用过程

           Ixia仪表根据测试领域和功能的不同包含若干应用程序,这些程序都提供了Tcl API接口可以访问和控制所有的hardware功能,但需要加载不同的Tcl package:

                    IxOS                    package  require IxTclHal  最基本的硬件控制函数

                    IxNetWork         package require IxTclHal   测试路由协议的函数

                    IxLoad                 package require IxLoad    测试4-7层的函数

                    IxScriptMate     depend on the test            预定义测试套件(RFC2544…),高层API接口  

                    HLTAPI                package require Ixia          高层API,用户常用的Tcl测试接口

                    IxVPN                  package require IxVPN     VPN测试函数

                    其他还有很多………….. 

       (2) 连接到机箱

             建立到IxServer的TCP链接;

             检查版本是否匹配;

             获得当前配置;

             给Ixia机箱分配一个ID;

             如果是UNIX系统还要链接到TCP Server

       (3) 配置端口port,创建并设置流量stream,设置其它需要的东西如过滤器Filter,并将配置参数写入硬件

       (4) 打流,并根据测试需求在接收端口捕捉包(portGroup),或者查看一些相关的计数(statAllStats)

       (5) 结束测试

              中断与Ixia机箱链接

              释放Tcl arrays and lists分配的内存

              释放对象分配的TclHal内存

              如是UNIX客户端要中断与TCL Server链接

              如使用ixDisconnectFromChassis命令,就只中断和Ixia机箱的连接,不中断TclHal环境 

6.一些Ixia AT执行时的注意事项

      (1) Ixia仪表chassis上内置的PC主机(windowXP)需要--->services.msc--->启动对应的IxServerService

      (2) Ixia上的IxServer和TestPC上的Tcl  Client的版本最好相符,否则一些API的下发执行可能会有问题,client端执行script时会报错

      (3) Tcl语言 + Ixia Tcl API = Tcl操作Ixia仪表的函数库文件SIG_IxiaAT.tcl,里面函数的一些返回值都写到注册表里,用于上层的结果判断

      (4) 库目录下的pkgIndex.tcl离需要加入下面一句

           “package ifneeded IxTclHal 5.30 [list source [file join "C:/Program Files/Ixia/IxOS/5.30-EA-SP2/TclScripts/bin" IxiaWish.tcl]]”

           才能确保SIG_Teq_Ixia.tcl里“package require IxTclHal”里能找到对应的库文件,理论上可以将定义Ixia Tcl command的这个文件单独拎出来放在同一目录下方便移植,这样客户端测试PC就不用费事安装IxOS了,但貌似这个文件和IxOS安装目录下的其它一些.tcl文件和.dll文件有管理,单独只移植IxiaWish.tcl文件,执行会报错,有些东西找不到。具体哪些文件有关联还需要深入研究下。

      (5)IxExplorer安装后自带的有Tcl interrupt,但操作Ixia时可以也使用任何一个Tcl interrupt,只要把用到的库文件都加载了即可

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


http://www.ppmy.cn/news/341462.html

相关文章

一站式自动化测试工具——AI-TestOps

文章目录 软件测试的重要性龙测科技是什么?核心优势平台使用 软件测试的重要性 软件测试在整个软件生命周期里,具有十分关键的地位,学校只可以在运行与后期维护时期以前,软件调试瀑布模型,是一类常规的运行方式&#…

Excel怎么设置密码?这4个方法必须掌握!

案例:做报表时有些很重要的数据不想被别人改动,Excel怎么设置密码呀? 【用Excel制作一些报表时怎么为Excel设置密码呢?因为有些数据比较重要,想将Excel设置密码。请大家帮帮我!】 Excel是一款常用的电子表…

3.1 基于配置文件整合SSM框架实现用户登录

一、基于XML配置方式整合SSM框架实现用户登录 1、创建数据库与表 (1)创建数据库 数据库simonshop,采用utf8mb4编码 (2)创建用户表 创建用户表t_user CREATE TABLE t_user (id int(11) NOT NULL AUTO_INCREMENT,u…

INTP型人格的性格缺陷和心理问题分析

INTP型人格是一种独立思考、好奇心强、喜欢探索和研究的人格类型,也是最为理智和客观的人格类型之一。INTP更倾向于内向,他们喜欢独处,思考自己的想法和理论,他们喜欢分析和思考问题,寻找逻辑和原则,冷静和…

x问题 E: 2025 模拟测试2(积极向上的小青蛇)

题目描述 一只1英才长的小青蛇在一口深n英寸的井底。它有足够的力气完成每分钟向上爬u英寸,但必须休息1分钟才能继续爬。在休息的过程中,小青蛇又下滑了d英寸。这样上爬和下滑的过程重复进行着。小青蛇需要多长时间才能爬出井?在此&#xff0…

Docker 安全及日志管理

容器的安全性问题的根源在于容器和宿主机共享内核。如果容器里的应用导致Linux内核崩溃,那么整个系统可能都会崩溃。与虚拟机是不同的,虚拟机并没有与主机共享内核,虚拟机崩溃一般不会导致宿主机崩溃。 -----------------------------------…

Linux内核中内存管理相关配置项的详细解析4

接前一篇文章:Linux内核中内存管理相关配置项的详细解析3 二、SLAB allocator options 1. Choose SLAB allocator 此选项选择一个slab分配器。 此项展开后如下图所示: SLAB 对应配置变量为:CONFIG_SLAB。 内核源码详细解释为&#xff1a…