expect示例:给交换机添加批量配置

         在测试过程中,有时,我们会遇到这样的情况:需要准备大量的非数据库存储的数据;比如,交换机、路由器的配置;

在一次的性能测试中,需要对一个交换机设备配置大量配置数据,比如,需要饱和的ARP表数据、MAC转发表数据、接口表数据等。

         如果有smartbit,IX测试仪的童鞋,可以直接用测试仪打入大量是测试数据;如果没有的话也不用着急,我们还有其他的方法,下面列举2种:

一、用expect自己写脚本来完成这类的批量操作:

1.      安装

安装expect-5.21r1b1-setup.exe。这个安装文件可以在CSDN的共享资源中下载。安装以 后,将C:\ProgramFiles\Expect-5.21\bin(安装目录)加入你的搜索路径后就可以在命令行下使用Expect。

2.      用途

expect是建立在tcl基础上的一个工具,它用来让一些需要交互的任务自动化地完成。

3.      一个示例

#使用telnet登录一台交换机,进入enable进行配置,添加该设备的MAC转发表数据

set i 0

set j 1

log_file-noappend result.log #将控制台的信息打印到log文件中

spawn telnet172.18.7.62 #telnet到一个设备

expect"Username:"

send  "username\n"

expect"Password:"

send "pwd\n"

expect">"

send"en\n"

expect"Password:"

send "pwd2\n"

expect"#"

send"config\n"

expect"#"

set f [openmac.txt]           #从mac.txt中逐行读取参数

#set MAC [gets$f]

while 1 {

incr i

set MAC [gets$f] #把参数赋值给变量$MAC

#puts"MAC:$MAC"

expect"#"

send "macstatic $MAC vlan 1 interface GigabitEthernet 0/$j\n" #下发配置命令,根据你的需求

if {[eof $f]} {

    close $f

    break

}

if $j>23      {

set j 1

}

incr j

}

expect"#"

send"exit\n"

expect"#"

send"exit\n"

expect eof

二、用LR录制相应的脚本

         可以通过LR,选择socket/RTE协议来完成对Telnet操作(或者其他)的录制。然后在LR脚本中进行参数化,然后在进行数据填充。这里就不细说。


你可能感兴趣的:(数据库,测试,脚本,interface,路由器,Tcl)