关于
QTP处理弹出信息(或者说对话框或pop-up信息),应该是个比较简单的问题,本来是个很简单的问题,但是网上说的确实五花八门、而且没有讲清楚,写这边文章旨在让大家都QTP处理弹出信息,有个彻底的了解。
51Testing软件测试网7wP7`Got1? 问题产生的原因:51Testing软件测试网0C|2l
w
S @:\
51Testing软件测试网pCf1cN];w (1)用户用户登录校验弹出框信息,通过弹出信息判断错误的类型,执行相应的操作。
B#I(g#XS6c3bsYr4F051Testing软件测试网$A+C@%d.Mh6N (2)如何抓取弹出信息内容。51Testing软件测试网.Ft b s9a `'Y"j
YO.B:rCU |qw2bd L0 (3)QTP针对弹出信息在对象库中只能识别出一个对象如何处理。比如说:你的用户登录错误信息类型有两种:a.请出入用户名。b.用户名和密码输入不正确。我们通过添加static对象,然后判断static对应的对象是否存在,但是即使有2个或多个static对象,但是在对象库中只能加入一个对象,那又如何处理?
{-~/u+{1\idv051Testing软件测试网;r"h;G"d.[oR 问题的解答:
M8H7\
QPt;SiHh K C06@o
A
u#L.F8@%^ H1{$~0 首先我们先用通过对象识别器spy,点击dialogue中的文字内容(这一点很重要),将其添加到对象库,该对象其实是一个static对象;其他的用描述性编程,获取其弹出信息内容。为什么不全用描述性编程,原因是有些弹出信息用描述性编程依然无法获取,找不到对象(这让我也郁闷好几天),但是有的却可以,我也无语。所以这里让QTP把提示信息内容识别成一个static对象,然后判断它是否存在,以达到我们判断的目的。51Testing软件测试网/MQ6o-X0W2^H2xT
51Testing软件测试网 `4V?"t@ }i 也许可能我没有讲清楚,但是我想解决问题的方法大家应该明白了,呵呵!51Testing软件测试网.A5}3`apc;S;i
"e!`5lq8?0 脚本如下:51Testing软件测试网%Hj t/W `c@
51Testing软件测试网Ud%^M+pR2s+KBrowser("电子政务").Page("电子政务").WebEdit("user_code").Set DataTable("username", dtGlobalSheet)51Testing软件测试网%x*_
E:n ?"B3t!?
Browser("电子政务").Page("电子政务").WebEdit("user_pass").Set DataTable("usercode", dtGlobalSheet)51Testing软件测试网(uP8Q(HCCL&b@;o`
Browser("电子政务").Page("电子政务").Image("dl-9").Click51Testing软件测试网o"}7w B9r:_
If Browser("电子政务").Dialog("Microsoft Internet Explorer").Exist Then
;\'CiM$rx n K0If Browser("电子政务").Dialog("Microsoft Internet Explorer").static("text:=请输入用户名!").Exist Then
0y#HsM
UMs0 Browser("电子政务").Dialog("Microsoft Internet Explorer").WinButton("text:=确定").click
:u`,Y,D"W0 Reporter.ReportEvent micPass,"失败测试","用户名不能为空"
YH
B4V.^-dOlf ]$i0 elseif Browser("电子政务").Dialog("Microsoft Internet Explorer").static("登录=[用户名/密码不正确!]").Exist then51Testing软件测试网7S
cTW1IX8]
Browser("电子政务").Dialog("Microsoft Internet Explorer").WinButton("text:=确定").click
+vW OR7?0 Reporter.ReportEvent micPass,"失败测试","用户名、密码输入不正确"51Testing软件测试网
UFn0N Dh
else Reporter.ReportEvent micFail,"输入异常","输入异常错误!" 51Testing软件测试网y]I6dKk9P
End If
*uT'S"wi t5mk0else51Testing软件测试网q0a"tw c(S:Z%qQA
Reporter.ReportEvent micPass,"登录成功","登录成功!"
x1f@i5W0end if
Td f!v4a051Testing软件测试网7ne}Va&_我的测试数据如下图:51Testing软件测试网-R
q
dw5V'_A
G#S]5x Z(m5l!M&Y051Testing软件测试网7s$qh8{*w5wF
vA0dZ]^-Q,QL0
w-y*~ ZZ0*Gw4GK:Zvbc qY0我的弹出信息框内容如下图:51Testing软件测试网s]R4sT H$B
Y NQ
51Testing软件测试网U}$B)uIuT51Testing软件测试网{1A&H?:t-@#Iz
51Testing软件测试网!R8Y;x{vHze0X6z 51Testing软件测试网[-rw+b2d^A
/IXbZuy-yQ*b0
c]JKpD K0