QTP资料整理2
上一篇 /
下一篇 2009-02-27 22:57:40
/ 个人分类:qtp
QTP调用外部api51Testing软件测试网#j _0~m$uPjx '例1:运行一个exe文件
&p+^5m'o.{VoP!J @0 Extern.WinExec "d:\1.exe ", 1 |
51Testing软件测试网i}q'z(k+G9~q:a '例2:Beep51Testing软件测试网UFYI&F/V4p
51Testing软件测试网%iTK4D:w?)e
e '它让我的机器在办公室里狂响不止!51Testing软件测试网5X
g6y8g!z
51Testing软件测试网KK(C{kK{!j1^
51Testing软件测试网P/J,~.Z&E Extern.Declare micLong, "Beep", "kernel32.dll", "Beep", micLong51Testing软件测试网{xq9T&[ G]$|9Y 51Testing软件测试网}?;h6l2D-y Extern.Beep 50051Testing软件测试网"J_B:p'mF@ |
51Testing软件测试网6Nk$@(W+\W!SzF&z!l QTP 获取对话框中的信息51Testing软件测试网#yE U/AhHc
51Testing软件测试网0pI
UL)J/rj+m%]^.?S 如果弹出对话框就获取上面提示信息并与表中的信息对比,不统一证明弹出的提示出错,主要用来验证
-B|}+r~7Z&qyX'I;y051Testing软件测试网/G*A&T|2ZLRh0h3C
51Testing软件测试网&QN7B BG|.v
f if browser("web_name").dialog("dialog_name").exist(1) then'如果不出现=false51Testing软件测试网7X8A-Z!Lk*yiv
z 51Testing软件测试网O}7bV:r.J error_message=browser("web_name").dialog("diaglog_name").static("用户密码错误!".getRoproperty("text")51Testing软件测试网n$~-j]x0tPg !TeYh?+s+ES?0 if error_message<>(datatable.value("error_info"))then51Testing软件测试网1|4C"r8l'bT1^/Y;] WZ9J$r$nX.e0 msgbox(error_message) 0\2S$|0{`4qP0z(C&@n5Wm6}O0 end if &}
r5~4j/Zru?-F0W-\xkH0 browser("web_name").dialog("diaglog_name").close51Testing软件测试网~ c
k9ga@P 51Testing软件测试网DGD8i7b/{%m$j end if51Testing软件测试网Q6sz4J/OX |
qX9a8I;v`sC|0 这里我总结了两点技巧:51Testing软件测试网 I3j*^'|8a
51Testing软件测试网a|9m
D+Ddl^d_ 一是:对于dialog中,虽然提示信息对象名称是"用户密码错误",但如果信息对象名称是“该用户不存在”,不用更改会自动识别,我想主要是录制第一遍时,“用户密码错误”只是让运行时能找到这个控制,而不管它是什么内容,因为在对象仓库中,text不是决定该对象的属性51Testing软件测试网FI.N"ob9q)Y
"Jx$f:B#JF*`qh0 二是:如果对于提示信息比较长的,可以用mid(error_message,n,m)取一部份特征提示信息进行验证,这样我想可以节省处理时间,又可以避免长度以及空格等字符的处理
P0rl!D!@)nm*M(~0)g"t'M'LJ]~0 QTP获取对象属性名称用法:51Testing软件测试网5t0D%Gre
}1kg
51Testing软件测试网q4jVX1_(BXZ GetRoProperty----从应用程序界面上获取对象属性(即,是脚本运行时,获取的对象动态属性值)51Testing软件测试网-QD"V*O5cfX?X1wj
$Q [Gz7I0 例如:获取对象库中index属性值,似乎只能用GetToProperty,因为应用程序界面上对象没有该属性,只是QTP为识别该对象创立的描述属性;51Testing软件测试网3Vj_;G%jr6c
M0d#Rp5QM%j3E0 GetToproperty----从对象库中描述对象的属性,静态值
?-z5fc[0_9_l ZdE0 GetToProperties----获取用于标识对象的属性集;对于这个集合,有count等属性方法51Testing软件测试网,m`9b(yR
51Testing软件测试网p
v3HO(F/Y[ Y QTP在执行过程中往excel中写入值
+])sZ%Ob5?q4ln0 DataTable.GlobalSheet.AddParameter "Name", "liuxuedong" |
51Testing软件测试网&y ]6Ou7y-PTq w&k 取datatable特定行的数据可以这样使用
[|]JX0 DataTable.GetSheet("Action1").GetParameter("test\").ValueByRow(1) |
收藏
举报
TAG: