在测试过程中,有时,我们会遇到这样的情况:需要准备大量的非数据库存储的数据;比如,交换机、路由器的配置;
在一次的性能测试中,需要对一个交换机设备配置大量配置数据,比如,需要饱和的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脚本中进行参数化,然后在进行数据填充。这里就不细说。