Crt自动化 测试 SecureCrt脚本 JS脚本
各位看官们喜欢的话,识别二维码,给个打赏哟,大家的激励也是我的动力~
- 1、引言
- 2、Screen属性和方法
- 2.1、属性
- 2.1.1、CurrentColumn
- 2.1.2、CurrentRow
- 2.1.3、Columns
- 2.1.4、Rows
- 2.1.5、IgnoreEscape
- 2.1.6、MatchIndex
- 2.1.7、Synchronous
- 2.2、方法
- 2.2.1、Clear()
- 2.2.2、get()
- 2.2.3、get2()
- 2.2.4、IgnoreCase()
- 2.2.5、Send()
- 2.2.6、SendKeys()
- 2.2.7、SendSpecial()
- 2.2.8、WaitForCursor()
- 2.2.9、WaitForKey()
- 2.2.10、WaitForString()
- 2.2.11、WaitForStrings()
- 2.2.12、ReadString()
- 3、总结
1、引言
本节开始讲解Crt脚本中最常用,也是功能最强大的二级对象Screen的属性和方法,凡是需要和远程设备进行交互的部分都是需要使用Screen对象的属性或方法的,因此本节将是重点。
2、Screen属性和方法
属性 方法 CurrentColumn Clear CurrentRow Get Columns Get2 Rows IgnoreCase IgnoreEscape Send MatchIndex SendKeys Synchronous SendSpecial WaitForCursor WaitForKey WaitForString WaitForStrings ReadString
2.1、属性
2.1.1、CurrentColumn
解释返回当前光标处的列坐标,如下图所示的下面显示的数字"9"就是当前光标位于第9列。
语法crt.Screen.CurrentColumn
代码
- JS
1 # $language = "JScript" 2 # $interface = "1.0" 3 4 var curCol = crt.Screen.CurrentColumn; 5 crt.Dialog.MessageBox(curCol);
2.1.2、CurrentRow
解释返回当前光标处的行坐标,如下图所示的下面显示的数字"35"就是当前光标位于第35行。但这个功能有个问题就是当满屏输出后这个值一直表示最大值,等同于底下要讲的子属性四:Rows的值。
语法crt.Screen.CurrentRow
代码
- JS
1 # $language = "JScript" 2 # $interface = "1.0" 3 4 var curRow = crt.Screen.CurrentRow; 5 crt.Dialog.MessageBox(curRow);
2.1.3、Columns
解释返回当前屏幕的最大列宽。
语法crt.Screen.Columns
代码
- JS
1 # $language = "JScript" 2 # $interface = "1.0" 3 4 var cols = crt.Screen.Columns; 5 crt.Dialog.MessageBox(cols);
2.1.4、Rows
解释返回当前屏幕的最大行宽,这个行宽指的是可见区的,并不是指缓冲区的行宽
语法crt.Screen.Rows
代码
- JS
1 # $language = "JScript" 2 # $interface = "1.0" 3 4 var rows = crt.Screen.Rows; 5 crt.Dialog.MessageBox(rows);
2.1.5、IgnoreEscape
解释定义当使用WaitForString、WaitForStrings 和 ReadString这三个方法时是否获取Escape字符(也就是特殊控制字符,如"\n"),默认是会获取的。
语法crt.Screen.IgnoreEscape [ = True | False ]
参数:
true|false:当设置为true时不会获取特殊字符,为false时会获取,默认为false。
代码
- JS
1 # $language = "JScript" 2 # $interface = "1.0" 3 4 // 设置false,获取ctrl+c 5 crt.Screen.IgnoreEscape = false; 6 crt.Dialog.MessageBox(crt.Screen.ReadString("\03")); 7 8 // 设置true,不获取ctrl+c 9 crt.Screen.IgnoreEscape = true; 10 crt.Dialog.MessageBox(crt.Screen.ReadString("\03"));