|
1.在测试中我们使用QTP调试脚本的时候一般就是DEBUG或者MSGBOX察看一些信息,其实有时候也可以使用print来实现批量的察看信息但是不影响程序运行.
运行脚本:
~~~~~~~~~~~~~~~~~~~~~~~~~
2.取datatable特定行的数据可以这样使用
运行脚本:
- DataTable.GetSheet("Action1").GetParameter("test").ValueByRow(4)
复制代码
~~~~~~~~~~~~~~~~~~
3.Wait Seconds [, Milliseconds]可以精确到毫秒.
~~~~~~~~~~~~~~~~~~
4.在自定义的function里面数组作为返回值.
运行脚本:
- circuit = "399937"
- Function trimString(circuit)
- Dim holdArray(5)
- holdArray(0) = Left(circuit, 2)
- holdArray(1) = Right(circuit, 2)
- msgbox holdArray(0) 'showed 39
- trimString = holdArray' I get an out of range error here
- End Function
- dim myArray
- 'here I want to assign the return array to another array
- myArray = trimString(circuit)
- ' and then call one element from it
- msgbox myArray(1)
复制代码
~~~~~~~~~~~~~~~
5.计算一个操作的时间.
运行脚本:
- Browser("Browser").Page("Page").Image("getRates").Click
- var_StartTime = Timer
- Browser("Browser").Page("Page").Sync
- Browser("Browser").Page("Page").Check CheckPoint("Check1")
- var_EndTime = Timer
- intRespTime = round ((var_EndTime - var_StartTime), 2 )
- msgbox (intRespTime)
复制代码
~~~~~~~~~~~~~~~
6.取得指定sheet(datatable)的行数和列数(也可以理解为参数个数)
- paramcount = DataTable.GetSheet("Action1").GetParameterCount
- msgbox "There are " ¶mcount&"columns in the data sheet."
- rowcount = DataTable.GetSheet("Action1").GetRowCount
- msgbox "There are " &rowcount&"rows in the data sheet."
复制代码
~~~~~~~~~~
7.一种设置全局变量的方法GlobalDictionary
'Part 1.
'***********************************************************************************************************
- Dim WshShell
- Set WshShell =CreateObject("WScript.Shell")
- WshShell.RegWrite "HKCU\Software\Mercury Interactive\QuickTest Professional\MicTest\ReservedObjects\GlobalDictionary\ProgID", "Scripting.Dictionary","REG_SZ"
- Set WshShell = Nothing
复制代码
'*********************************************************************************************************************
'Part 2.
'*****************************************************************************************
- GlobalDictionary.Add "ParamName", "ParamValue"
- Msgbox GlobalDictionary.Item("ParamName")
- GlobalDictionary.Item("ParamName")="***********"
- Msgbox GlobalDictionary.Item("ParamName")
- Msgbox GlobalDictionary.Exists("ParamName")
- GlobalDictionary.Remove("ParamName")
- Msgbox GlobalDictionary.Exists("ParamName")
复制代码
'*********************************************************************************************
~~~~~~~~~~~
8.关掉多余的IE窗口
- SystemUtil.CloseProcessByWndTitle "51testing", True
复制代码
~~~~~~~~~~~~~~~~~~
9.Execute 的用法,这个用法在一些特殊时候很有用的.
- x="4"
- Execute "Dim A_" & x
- Execute "A_" & x &"=99"
- Msgbox Eval("A_" & x)
- ~~~~~~~~~~~~~~~~~~~
复制代码
10.GetLastError的介绍,看字面就是取运行最后一个错误
- x = GetLastError
- msgbox(DescribeResult(x))
复制代码
这样可以在程序里面判断程序运行时候是否出错了.
~~~~~~~~~~~~~~~~~
11.把weblist抓图下来
- Setting.WebPackage("ReplayType") = 2 'Default is 1
- Browser(".").Page(".").WebList(".").Click
- Desktop.CaptureBitmap "C:\Test.bmp",True
- Setting.WebPackage("ReplayType") = 1
复制代码
~~~~~~~~~~~~~~~~~~~~~~~~~~
12.Reporter.ReportEvent的新用法
transNumber = 12345
- Reporter.ReportEvent micPass, "TransactionNumber", "<DIV style='font-size: 7pt; color: white'>&</DIV>"&"<B> <FONT COLOR=#000000>"&transNumber&"</FONT></B>"
- Reporter.ReportEvent micPass, "TransactionNumber", "<DIV style='font-size: 7pt; color: white'>&</DIV>"&"<B> <FONT COLOR=red>"&transNumber&"</FONT></B>"
复制代码
~~~~~~~~~~~~~~~~~~~~~~~~~~
13.For循环中step的用法
- For K = 1 To 10 step 2
- msgbox k
- Next
复制代码
~~~~~~~~~~~~~~~~~~~~~~~
14.Option Explicit,大家都知道VB Script里面是可以不申明变量直接使用,但是有时候我们为了脚本的规范,尽量申明使用的变量,这样你就用一下Option Explicit吧.
- Option Explicit ' Force explicit variable declaration.
- Dim MyVar ' Declare variable.
- MyInt = 10 ' Undeclared variable generates error.
- MyVar = 10 ' Declared variable does not generate error.
复制代码
~~~~~~~~~~~~~~~~~~~~~~~
14.从TXT文件里面读取特定行的数据.
- Dim fso, myfile,msg
- Set fso=CreateObject("scripting.FileSystemObject")
- Set myfile = fso.openTextFile("C:\login.txt",1,false)
- '这里设置一个循环看需要读取第几行
- for i=1 to 10
- myfile.SkipLine
- next
- msg=myfile.ReadLine
- myfile.close
复制代码
~~~~~~~~~~~~~~~~~~~~~~~
[ 本帖最后由 风过无息 于 2007-7-29 14:22 编辑 ] |
|