基于Python 实现 Spirent TestCenter 自动化
关于Python API
1.Spirent TestCenter 自动化提供了一个基于Python语言的API。有关受支持的Python软件和操作系统版本的信息,请参见Spirent TestCenter基础和测试包的发布说明。
2.Python语言API支持标准的 API 函数集和标准的 Spirent TestCenter 数据模型。主要描述了Python API语法,提供了该API的简要概要,并描述了如何使用Python API 创建和运行 Spirent TestCenter 自动化测试的示例。
- .Python 环境中的 API 语法
- .Python API概要
- .Python 示例
3.在Linux上使用Spirent TestCenter 使用 Python API 时需要配置Python3 。Python API for Spirent TestCenter 要求在Python3.4语言设置中使用——启用-共享选项来编译libpython3.4.so文件。在使用Python3.4 API of Spirent TestCenter之前,请检查libpython3.4.so文件是否存在。注意:文件名可能略有不同,这取决于您的Linux发行版和版本,它是唯一一个在 /lib directory目录中可执行的文件。
4.使用此命令可以检查您是否有所需的Python库:$find -name “libpython3.4so” 2>/dev/null
Python环境中的API语法
在Python API中,Spirent TestCenter 自动化函数是StcPython类的实例方法。下面的代码片段创建了一个类的实例。实例化了类之后,就可以在引用API函数时使用变量stc作为前缀。
from StcPython import StcPython
stc = StcPython()
[...]
stc.apply()
注意:下面总结了应用于Spirent TestCenter的Python语法规则。有关Spirent TestCenter自动化语法元素的详细讨论,请参阅API语法。
语法元素 | 使用方法 |
---|---|
对象与属性引用 | Spirent TestCenter自动化函数调用中的对象和属性引用是Python方法调用中的参数。在括号中的参数列表。参数用逗号分隔。例如:stc.create('port', under='project1', name='myport') |
属性键–值对 | 1. 属性键–值对使用 = 操作符 2.属性名称不会在名称-值对中被引用 3.对于PythonAPI,破折号前缀( the dash prefix)不与属性名称一起使用。 stc.create('streamblock', under=port) |
DAN引用 | 使用Descendant-Attribute Notation(DAN)的属性引用需要包含引号(并且不使用破折号前缀)。在下面的示例中,streamBlock.name是一个DAN属性引用:d = dict([('under', 'project1') , /('streamBlock.name''mystreamblock')] /stc.create('port', **d) |
DDN引用 | 使用 Direct-Descendant Notation (DDN)的对象引用需要包含引号。例如 stc.get('project1.port') |
handle 引用 | Handle引用没有被引用。例如: portHandle = stc.create('port', under='project1') stc.get(portHandle) |
对象类型名称 | 对象类型名称用引号括起来。例如:stc.create('project')stc.perform('GeneratorStart',generatorList=generator) |
独立属性名称 | 属性名称(独立名称)用引号括起来。例如:stc.get(streamblockHandle, 'name') |
关系引用 | 关系引用Spirent TestCenter 自动化语法中被视为属性。关系引用附在引号中。例如: stc.get(portHandle, 'children') 如果使用对象类型筛选器,请使用破折号分隔符。例如:stc.get(portHandle, 'children-generator') |
建立关系 | 使用关键字参数格式(**kwargs)来指定关系及其值。例如 stc.config(Project_1,**{"DefaultSelection-targets": [FrameLengthDistribution_1]}) stc.config(Port_1,**{"AffiliationPort-sources": [EmulatedDevice_1,EmulatedDevice_3]}) |
整数 | 整数值没有被引号引用。例如:stc.sleep(10) stc.perform('devicecreate', parentList='project1',createCount=4) 请注意,组合后的值必须用引号括起来:stc.config(portHandle, location="//10.1.1.1/1/2") |
Python API概要
以下提供了关Spirent TestCenter 自动化的PythonAPI的简要概述。
1. API函数概要
API函数概要
下表列出了API中的函数。对于每个函数,该表显示了方法调用参数列表的参数ÿ