动力通讯工作组

动力通信工作组致力于网络通信的开发工作,进行tcpip网络编程,采用unix平台socket系列函数, windows平台 vc++6.0 MFC ,采用ASyncSocket对象。目前有telnet,irc,msn, SocketProxy 等产品程序。

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  14 随笔 :: 14 文章 :: 111 评论 :: 0 Trackbacks

第19章、 Run


   Run用来设置脚本执行的控制参数,例如日志级别、运行时间、错误处理模式、调用其他脚本等。

1、run语句分析

run.end
脚本执行结束,如果是后台无界面(hide模式)运行,进程退出。

run.sleep {2} seconds
脚本执行暂停2秒

run.set loglevel {debug}
  设置脚本执行时的日志级别,有debug,info,error,nolog几个级别,日志信息依次减少,nolog模式不记录日志。

run.set onerror {run.end}
  设置脚本执行时碰到执行错误怎么处理,参数“run.end”的处理方式时结束脚本执行,如果是后台无界面(hide模式)运行,进程退出。默认的处理方式是继续执行下一行。

run.set run.maxtime {33} seconds
  设置脚本执行的最长运行时间,本示例为33秒,每行执行完后检查脚本总执行时间,如果超过设置时间脚本执行结束,如果是后台无界面(hide模式)运行,进程退出。
  更新变量:run.end=[MaxRunTime]


run.set step.timeout {3} seconds
  设置后面每行脚本执行的超时时间,本示例为3秒,用于控制tcp、telnet等语句的等待时间,超时时本行脚本的执行强制结束,本行执行出错,继续执行下一行。

run.nms {C:\snml2019\ping\ping_nms1.txt 192.168.1.2}
  以后台无界面(hide模式)运行脚本“C:\snml2019\ping\ping_nms1.txt”,参数为“192.168.1.2”。

2、示例脚本[C:\snml2019\run\run_nms1.txt]

C:\snml2019\run\run_nms1.txt
001screen.set color red {0} green {0} blue {0}
002screen.text at point {150} {30} string {18、run测试}
003var {v_y} value {60}
004
005screen.text at point {10} {~v_y~} string {序号}
006screen.text at point {250} {~v_y~} string {测试内容}
007screen.line from point {10} {75} to point {50} {75}
008screen.line from point {70} {75} to point {630} {75}
009
010var {v_time} value datetime
011var {v_i} value {0}
012
013loop.begin
014  
015  var {v_i} add number {1}
016  var {v_y} add number {18}
017  
018  run.nms {C:\snml2019\ping\ping_nms1.txt}
019  run.set run.maxtime {33} seconds
020  run.set loglevel {nolog}
021  run.set onerror {run.end}
022  run.set loglevel {debug}
023  run.set step.timeout {3} seconds
024  run.sleep {2} seconds
025  
026  screen.text at point {10} {~v_y~} string {~v_i~}
027  screen.text at point {70} {~v_y~} string {v_time=~v_time~,run.steps=~run.steps~,run.seconds=~run.seconds~, run.errors=~run.errors~,}
028  
029  if.var {v_y} > {400}
030    loop.exit
031  if.end
032loop.end
033run.end

目录: 1、var 2、screen 3、snmp 4、telnet 5、text 6、if 7、loop 8、dns 9、ping 10、arp 11、excel 12、smtp 13、tcp 14、udp 15、ssh 16、web 17、mysql 18、sqlite 19、Run 20、sys 21、macro 附录1、全部语句

第20章、 sys


  sys用于执行本地的命令,访问本机的资源。

1、sys语句分析

sys.command {ping www.126.com} 
sys.command {ipconfig /all} 
  执行本机系统命令,本示例中“ping www.126.com”,“ipconfig /all”,执行命令显示的文本内容将写入文本区

sys.execute open {cmd}
交互式执行命令“cmd” 

sys.execute send {dir c:\ %0d%0a} 
交互式执行命令键入内容“dir c:\ %0d%0a”

sys.execute recv expect {可用字节} 
交互式执行命令接收命令的输出文本,写入文本区,一直接收直到接收到特定字符串“可用字节”

sys.execute recv for {A4} seconds
交互式执行命令接收命令的输出文本,写入文本区,一直接收4秒钟时间。

sys.execute close
关闭交互式执行命令

2、示例脚本[C:\snml2019\sys\sys_nms1.txt]

C:\snml2019\sys\sys_nms1.txt
001screen.set color red {0} green {0} blue {0}
002screen.text at point {150} {30} string {20、sys测试}
003var {v_y} value {60}
004
005screen.text at point {10} {~v_y~} string {序号}
006screen.text at point {250} {~v_y~} string {测试内容}
007screen.line from point {10} {75} to point {50} {75}
008screen.line from point {70} {75} to point {630} {75}
009
010var {v_time} value datetime
011var {v_i} value {0}
012
013loop.begin
014  
015  var {v_i} add number {1}
016  var {v_y} add number {18}
017  
018  sys.command {ping www.126.com}
019  sys.command {ipconfig /all}
020  
021  sys.execute open {cmd}
022  sys.execute send {dir c:\ %0d%0a}
023  sys.execute recv until {可用字节}
024  sys.execute close
025  
026  screen.text at point {10} {~v_y~} string {~v_i~}
027  screen.text at point {70} {~v_y~} string {v_time=~v_time~,text.bytes=~text.bytes~}
028  
029  if.var {v_y} > {400}
030    loop.exit
031  if.end
032loop.end
033run.end

目录: 1、var 2、screen 3、snmp 4、telnet 5、text 6、if 7、loop 8、dns 9、ping 10、arp 11、excel 12、smtp 13、tcp 14、udp 15、ssh 16、web 17、mysql 18、sqlite 19、Run 20、sys 21、macro 附录1、全部语句

第21章、 macro


  如果一段脚本代码需要重复使用,就可以把这段脚本定义为一个宏,然后脚本中调用该宏即可。宏必须放置在run.end语句的后面

1、macro语句分析

macro.call {macro_test}
脚本中调用宏,本示例中宏的名字为“macro_test”

macro.begin {macro_test} 
定义宏,本示例中宏的名字为“macro_test”。该语句必须放在run.end语句之后。

macro.return
宏返回语句

macro.end
宏结束语句

2、示例脚本[C:\snml2019\macro\macro_nms1.txt]

C:\snml2019\macro\macro_nms1.txt
001screen.set color red {0} green {0} blue {0}
002screen.text at point {150} {30} string {21、macro测试}
003var {v_y} value {60}
004
005screen.text at point {10} {~v_y~} string {序号}
006screen.text at point {250} {~v_y~} string {测试内容}
007screen.line from point {10} {75} to point {50} {75}
008screen.line from point {70} {75} to point {630} {75}
009
010var {v_time} value datetime
011var {v_i} value {0}
012
013loop.begin
014  
015  var {v_i} add number {1}
016  var {v_y} add number {18}
017  
018  macro.call {macro_test}
019  
020  screen.text at point {10} {~v_y~} string {~v_i~}
021  screen.text at point {70} {~v_y~} string {v_time=~v_time~}
022  
023  if.var {v_y} > {400}
024    loop.exit
025  if.end
026loop.end
027run.end
028macro.begin {macro_test}
029  
030  if.var {v_i} <= {10}
031    screen.text at point {270} {~v_y~} string {~v_i~<=10}
032    macro.return
033  if.end
034  if.var {v_i} > {12}
035    screen.text at point {270} {~v_y~} string {~v_i~>12}
036    macro.return
037  if.end
038  screen.text at point {270} {~v_y~} string {~v_i~ be 11 or 12}
039macro.end


目录: 1、var 2、screen 3、snmp 4、telnet 5、text 6、if 7、loop 8、dns 9、ping 10、arp 11、excel 12、smtp 13、tcp 14、udp 15、ssh 16、web 17、mysql 18、sqlite 19、Run 20、sys 21、macro 附录1、全部语句
posted on 2019-07-16 09:56 动力通讯工作组 阅读(137) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。