spirent会话控制库

SpirentSLC的Python项目详细描述


spirent会话控制库

spirent会话控制库用于控制itest会话,以便通过python脚本与设备进行快速、轻松的交互。这些目标设备/api可以动态定义,也可以通过itest项目中定义的会话配置文件来定义。

如何运行

最简单的方法如下:

  • 下载最新的Velocity代理

  • 像这样跑 ./Velocity代理--AgentVelocity主机本地主机--SFagentServerPort 9005--侦听模式--SFagentDisablessLvalidation

  • 使用slc编写python脚本 可以在此处找到并执行示例脚本: python example.py

文档

操作模式

python会话控制库用于控制itest会话,以便通过python脚本与设备进行快速而轻松的交互。这些目标设备/api可以动态定义,也可以通过itest项目中定义的会话配置文件来定义。

库可以在以下任一模式下运行:

  • 独立在工作站上
  • 连接到itest gui实例

初始化

独立

确保在安装库的工作站上设置了以下环境变量,并且脚本将在其上运行:

SPIRENT_SLC_HOST=localITAR_PATH=path #to folder where iTars are placed

不使用spirent_slc_host环境变量也是合法的,在这种情况下,假定为本地变量。

itar_path在本地环境中设置为指向放置itar和分解项目文件夹的文件夹,以便本地执行代理可以找到项目。当连接到正在运行的itest gui或velocity实例时,无需设置此选项。

fromSpirentSLCimportSLCslc=SLC.init()

导入库后,调用slc.init()会将底层执行代理初始化为库将与之通信的后台进程。返回一个对象,该对象是与库进一步通信的入口点。在这个版本中,在一个python解释器上下文中只能进行一次init()调用。

如果无法初始化库,将引发异常。

测试图形用户界面

确保在安装库的工作站上设置了以下环境变量,并且脚本将在其上运行:

SPIRENT_SLC_HOST=localhost:port  # must be host and port of the configured instance of iTest GUISPIRENT_SLC_PASSWORD=xxxx

itest的实例必须在指定的主机上运行,并且必须配置为接受所需端口上的连接。可以选择将密码配置为限制对该实例的访问,在这种情况下,必须指定或在init()调用中提供spirent\u slc\u password环境变量。

fromSpirentSLCimportSLCslc=SLC.init()# will take all values from environment variables

或者,可以在init()调用中提供值:

slc=SLC.init(host='localhost:3030',password='xxx')

如果库无法连接到itest gui实例,将引发异常。

自动代理启动

通过指定指向itest agent文件夹的环境变量,可以将slc配置为自动启动新agent的实例。

SPIRENT_SLC_AGENT_PATH=path #to agent folderITAR_PATH=path #to folder where iTars are placed
fromSpirentSLCimportSLCslc=SLC.init()
与项目合作

初始化后,库将可以访问所有可用的itest项目。 每个项目都包含许多可以通过代码寻址的实体。 其中包括会话配置文件和拓扑。

列出项目
slc.list()==>['topologies','session_profiles']

项目名称中的所有空格或python标识符中不合法的任何其他字符将被返回值中的下划线替换。

导入项目

项目在使用前需要先导入。由于"import"是python中的一个保留字,我们将其称为"open"。这可以通过以下代码完成:

proj=slc.open('project_name')

如果需要,可以导入多个项目

SPIRENT_SLC_HOST=localITAR_PATH=path #to folder where iTars are placed
0
查询项目
  • 列出项目中所有可用的拓扑和会话配置文件

    SPIRENT_SLC_HOST=localITAR_PATH=path #to folder where iTars are placed
    1 <理>
  • 列出其他类型的资产,如参数文件和响应映射

    SPIRENT_SLC_HOST=localITAR_PATH=path #to folder where iTars are placed
    2
  • 显示给定会话配置文件中所有可用的快速调用

    SPIRENT_SLC_HOST=localITAR_PATH=path #to folder where iTars are placed
    3
  • 访问有关连接到拓扑中资源的会话的快速调用的帮助

    SPIRENT_SLC_HOST=localITAR_PATH=path #to folder where iTars are placed
    4
  • 访问特定QuickCall的参数列表

    SPIRENT_SLC_HOST=localITAR_PATH=path #to folder where iTars are placed
    5

    未列出内置会话操作,仅当会话配置文件附加了QuickCall库时才列出QuickCalls。

    如果用户正在访问内置会话类型(如telnet或ssh),他们仍可以调用操作,但不会被list()调用列出。

    需要注意的是,所有显示的quickcall名称都将转换为snake case,以符合python命名约定。 使用会话

    打开会话

    会话可以直接在会话配置文件或本地拓扑上打开。

  • 在会话配置文件上打开会话

    SPIRENT_SLC_HOST=localITAR_PATH=path #to folder where iTars are placed
    6
  • 打开会话,提供所需参数

    SPIRENT_SLC_HOST=localITAR_PATH=path #to folder where iTars are placed
    7
  • 打开会话,使用参数文件

    SPIRENT_SLC_HOST=localITAR_PATH=path #to folder where iTars are placed
    8
  • 打开会话,指定要使用的响应映射

    SPIRENT_SLC_HOST=localITAR_PATH=path #to folder where iTars are placed
    9
  • 打开会话,指定要使用的响应映射库

    fromSpirentSLCimportSLCslc=SLC.init()
    0
  • 打开会话,指定其他会话属性

    fromSpirentSLCimportSLCslc=SLC.init()
    1
  • 在本地拓扑中的资源上打开会话

    fromSpirentSLCimportSLCslc=SLC.init()
    2
直接打开本机会话类型(6.2中不支持)

可以直接打开会话,而无需启动基础会话配置文件或拓扑文件。

  • 直接打开本机ssh会话类型,提供所需的会话配置文件信息
    fromSpirentSLCimportSLCslc=SLC.init()
    3 会话信息 一旦会话被打开,就可以找到一些关于会话处理位置的基本信息。这是通过会话对象的代理属性完成的。
    fromSpirentSLCimportSLCslc=SLC.init()
    4
调用会话上的操作

活动会话上定义了许多操作,这些操作可以是在该会话类型上定义的内置操作或快速调用。任何这些都可以在会话中调用。

  • 用一个参数调用init_routes quickcall

    fromSpirentSLCimportSLCslc=SLC.init()
    5
  • 使用特定的响应映射调用内置操作(它可能覆盖为整个会话设置的内容)

    fromSpirentSLCimportSLCslc=SLC.init()
    6

    反应 生成的响应对象可用于查询有关操作执行和响应本身的详细信息:

  • 执行持续时间和任何错误状态

    fromSpirentSLCimportSLCslc=SLC.init()
    7
  • 响应的文本呈现

    fromSpirentSLCimportSLCslc=SLC.init()
    8
  • 如果响应是json,则更容易将json直接作为字典获取

    fromSpirentSLCimportSLCslc=SLC.init()
    9
  • 同样,如果响应是xml,则可以直接作为xml访问它

    SPIRENT_SLC_HOST=localhost:port  # must be host and port of the configured instance of iTest GUISPIRENT_SLC_PASSWORD=xxxx
    
    0
查询

response对象也可以在其上定义查询-查询结构化数据和返回值的方法。查询可以在itest中自动生成,也可以在响应图中定义。

  • 列出已存在的响应查询集

    SPIRENT_SLC_HOST=localhost:port  # must be host and port of the configured instance of iTest GUISPIRENT_SLC_PASSWORD=xxxx
    
    1
  • 调用查询

    SPIRENT_SLC_HOST=localhost:port  # must be host and port of the configured instance of iTest GUISPIRENT_SLC_PASSWORD=xxxx
    
    2

    查询名称始终转换为snake case。

结束会话

会话应该在不再需要时关闭,因为它们会消耗代理上的资源(如果正在使用,则会消耗速度)。如果会话在循环中打开,则关闭会话尤其重要。

  • 关闭会话并释放资源
    SPIRENT_SLC_HOST=localhost:port  # must be host and port of the configured instance of iTest GUISPIRENT_SLC_PASSWORD=xxxx
    
    3
关机

正确关闭库对于确保及时释放资源非常重要。

  • 释放库使用的所有资源
    SPIRENT_SLC_HOST=localhost:port  # must be host and port of the configured instance of iTest GUISPIRENT_SLC_PASSWORD=xxxx
    
    4 释放的资源包括所有剩余的打开会话、由脚本发起的所有保留,以及(如果是本地的)底层执行代理。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
添加组件后,java JTable为空   java将json发送到php并插入mysql,但返回null   java Spring引导JNDI CommonJ资源   从不同PC创建和合并后的Java servlet问题   java如何在使用findelements时从xpath获取文本   java使用spring boot使用gmail smtp发送电子邮件   java在不使用pojo、bean或getter和setter的情况下获取Json标题的Json数组   Java中的OpenFile对话框将null作为响应   JavaBuilder模式。扩展接口   java中无需替换的数据结构选取   java如何评价Encog中的预测神经网络   java如何在安卓中使用实际的HttpURLConnection进行单元测试?   java使用XML配置禁用WebSocket中的CSRF保护   java如何通过hibernate从多表查询中获取数据?   mysql如何在java中获取更新的行Id   java AEM/CQ组件单一组件/有限组件   java FFmpeg Javacv延迟问题   显示整数数组的java不起作用