共同探讨QTP相关问题

转: QTP小结

上一篇 / 下一篇  2008-04-15 22:28:09 / 个人分类:QTP

1.在测试中我们使用QTP调试脚本的时候一般就是DEBUG或者MSGBOX察看一些信息,其实有时候也可以使用print来实现批量的察看信息但是不影响程序运行.
Y+bRK|0运行脚本:

复制内容到剪贴板
代码:
a="100"51Testing软件测试网L{aLdtR7SU
print a
~~~~~~~~~~~~~~~~~~~~~~~~~51Testing软件测试网-i(} B)Y9Y
2.取datatable特定行的数据可以这样使用51Testing软件测试网7r9k;X6z w
运行脚本:
复制内容到剪贴板
代码:
DataTable.GetSheet("Action1").GetParameter("test").ValueByRow(4)
~~~~~~~~~~~~~~~~~~
gk|"Pk03.Wait Seconds [, Milliseconds]可以精确到毫秒.
eyA[6@*oPx0~~~~~~~~~~~~~~~~~~
&X5^:D O6F.g E*BW;].n04.在自定义的function里面数组作为返回值.51Testing软件测试网OQ#o~I&o t+j
运行脚本:
复制内容到剪贴板
代码:
circuit = "399937"51Testing软件测试网0u V(yFO_1p
Function trimString(circuit)
+w&ZYvp nq!U0Dim holdArray(5)
"?5~8Pr ~3e0holdArray(0) = Left(circuit, 2)
(X8t"G X`0holdArray(1) = Right(circuit, 2)51Testing软件测试网9QVcpNh
msgbox holdArray(0) 'showed 3951Testing软件测试网Y1vgyv
trimString = holdArray' I get an out of range error here51Testing软件测试网.B)H(}gj+ID/O}!y"J
End Function
Yt(p*L'}/p0dim myArray
P3V t+QCy0Z0'here I want to assign the return array to another array
2@+ikvUAT.S7}V0myArray = trimString(circuit)51Testing软件测试网 \~ np)y$Us
' and then call one element from it51Testing软件测试网$N6Od!lUZ ~
msgbox myArray(1)
~~~~~~~~~~~~~~~51Testing软件测试网jL.bauP8w\4K
5.计算一个操作的时间.
@}9[6q1E`y A9F!p0运行脚本:
复制内容到剪贴板
代码:
Browser("Browser").Page("Page").Image("getRates").Click51Testing软件测试网 }c3Q'\+q
var_StartTime = Timer51Testing软件测试网yNP/DM
Browser("Browser").Page("Page").Sync
*?S.I |?0Browser("Browser").Page("Page").Check CheckPoint("Check1")
+[?H L;\0var_EndTime = Timer
;I~0b"WZ%T9`(j.m%ERr0intRespTime = round ((var_EndTime - var_StartTime), 2 )51Testing软件测试网\tgL oC4zA
msgbox (intRespTime)
~~~~~~~~~~~~~~~51Testing软件测试网e$e&an `?![$JV1e
6.取得指定sheet(datatable)的行数和列数(也可以理解为参数个数)
复制内容到剪贴板
代码:
paramcount = DataTable.GetSheet("Action1").GetParameterCount51Testing软件测试网bw Vb*iPX
msgbox "There are " &paramcount&"columns in the data sheet."
-z5c p \AX/yx0rowcount = DataTable.GetSheet("Action1").GetRowCount
BN4y M-k0msgbox "There are " &rowcount&"rows in the data sheet."
~~~~~~~~~~
P9d0Xl.i]&\JY07.一种设置全局变量的方法GlobalDictionary51Testing软件测试网 t0z c+f"?.I
'Part 1.
FE(u4@Uj0'***********************************************************************************************************
复制内容到剪贴板
代码:
Dim WshShell51Testing软件测试网"_w^e K8Fze,c8nD
Set WshShell =CreateObject("Wscrīpt.Shell")51Testing软件测试网2m#fX|.]H;zP]
WshShell.RegWrite "HKCU\Software\Mercury Interactive\QuickTest Professional\MicTest\ReservedObjects\GlobalDictionary\ProgID", "scrīpting.Dictionary","REG_SZ"51Testing软件测试网k8p*kN Z
Set WshShell = Nothing
'*********************************************************************************************************************
.d fS^:Q;L!T Ro0'Part 2.
/o&y{ n.j0Eh0'*****************************************************************************************
复制内容到剪贴板
代码:
GlobalDictionary.Add "ParamName", "ParamValue"
(Dx#gm A_0Msgbox GlobalDictionary.Item("ParamName")51Testing软件测试网2a] \&k S"o%MH
GlobalDictionary.Item("ParamName")="***********"
MF j$X^U0Msgbox GlobalDictionary.Item("ParamName")
*SU)yv#K6k5f:p'V\)z0Msgbox GlobalDictionary.Exists("ParamName")51Testing软件测试网 |#X,NSv&k~
GlobalDictionary.Remove("ParamName")51Testing软件测试网U|M@X
Msgbox GlobalDictionary.Exists("ParamName")
'*********************************************************************************************51Testing软件测试网pTqGQ-xQ2\6?
~~~~~~~~~~~51Testing软件测试网X5c F&GB1` I
8.关掉多余的IE窗口
复制内容到剪贴板
代码:
SystemUtil.CloseProcessByWndTitle "51testing", True
~~~~~~~~~~~~~~~~~~
0W7O6x?Ej?)u09.Execute 的用法,这个用法在一些特殊时候很有用的.
复制内容到剪贴板
代码:
x="4"
"D$L;H2t/[8lUe#w0nX0\N0Execute "Dim A_" & x51Testing软件测试网8M t%AHk GE0l],R
Execute "A_" & x &"=99"51Testing软件测试网(el7g^:PLU^
Msgbox Eval("A_" & x)  
z3j1t? ~,e]5X0~~~~~~~~~~~~~~~~~~~
10.GetLastError的介绍,看字面就是取运行最后一个错误
复制内容到剪贴板
代码:
x = GetLastError
@w"? Qi5lAU0msgbox(DescribeResult(x))
这样可以在程序里面判断程序运行时候是否出错了.51Testing软件测试网+G:zi3[6zA Cl
~~~~~~~~~~~~~~~~~51Testing软件测试网&cmTf~ N _
11.把weblist抓图下来
复制内容到剪贴板
代码:
Setting.WebPackage("ReplayType") = 2 'Default is 151Testing软件测试网 ?Z)BrM6\av7W
Browser(".").Page(".").WebList(".").Click
oRPG|6N0Desktop.CaptureBitmap "C:\Test.bmp",True51Testing软件测试网|5]uAp1pJ:j
Setting.WebPackage("ReplayType") = 1
~~~~~~~~~~~~~~~~~~~~~~~~~~51Testing软件测试网n]C#H1q9X1SH;M
12.Reporter.ReportEvent的新用法51Testing软件测试网 x ^x4ab9y n
transNumber = 12345
复制内容到剪贴板
代码:
Reporter.ReportEvent micPass, "TransactionNumber", "<DIV style='font-size: 7pt; color: white'>&</DIV>"&"<B> <FONT COLOR=#000000>"&transNumber&"</FONT></B>"51Testing软件测试网|a'e p M!`!Q
Reporter.ReportEvent micPass, "TransactionNumber", "<DIV style='font-size: 7pt; color: white'>&</DIV>"&"<B> <FONT COLOR=red>"&transNumber&"</FONT></B>"
~~~~~~~~~~~~~~~~~~~~~~~~~~51Testing软件测试网Cl&y5u,w;G$N
13.For循环中step的用法
复制内容到剪贴板
代码:
For K = 1 To 10 step 2
$~&S!?3B,|'M D/g4t},Y0          msgbox k
J9O#kA)Sg0Next
~~~~~~~~~~~~~~~~~~~~~~~51Testing软件测试网Ex4x-wFf
14.Option Explicit,大家都知道VB scrīpt里面是可以不申明变量直接使用,但是有时候我们为了脚本的规范,尽量申明使用的变量,这样你就用一下Option Explicit吧.
复制内容到剪贴板
代码:
Option Explicit   ' Force explicit variable declaration.51Testing软件测试网;d^H,ow8j2}r
Dim MyVar   ' Declare variable.51Testing软件测试网!fO^P j]
MyInt = 10   ' Undeclared variable generates error.
#_ Z5\ ew,E5d0MyVar = 10   ' Declared variable does not generate error.
~~~~~~~~~~~~~~~~~~~~~~~51Testing软件测试网u8b9gVuz(T
14.从TXT文件里面读取特定行的数据.
复制内容到剪贴板
代码:
Dim fso, myfile,msg
W:G]uL/M6Utan0Set fso=CreateObject("scrīpting.FileSystemObject")   51Testing软件测试网 dy)h8Pn/JH
Set myfile = fso.openTextFile("C:\login.txt",1,false)
4W4zl.w-f;m-S8zd0'这里设置一个循环看需要读取第几行51Testing软件测试网,`*iknAm7i_ _a-?
for i=1 to 1051Testing软件测试网._-h;?${/t
myfile.SkipLine
IA,W.Y E3b+k1e ]0next
1L)h$H+ck/L+Z `0Y?)P0msg=myfile.ReadLine
M"Q&Fd*[n0myfile.close

TAG: QTP

 

评分:0

我来说两句

Open Toolbar