liweilirui 发表于 2008-11-27 17:51:17

QTP如何判断是否打开了Browser("XX").Dialog("XX").Exist

场景:
    网站自动测试。每个输入框输入非法字符的时候会有提示“输入错误”。输入正确的时候则弹出提示框,"提交成功"。点击确定后继续。脚本录制后我需要加入一个判断。如果弹出提示框“提交成功”则点确定。如果提示“输入错误”则判断提示信息是否正确。
疑问:
    我不知道如何判断是否弹出了提示框。
Browser("XX").Dialog("Microsoft Internet Explorer").Exist可否这样用?
代码:
Dim A
A=ture
Dim B
B=ture
......
A=Browser("XX").Dialog("Microsoft Internet Explorer").Exist
If A=B Then
        Browser("XX").Dialog("Microsoft Internet Explorer").Click
else
Browser("XX").Page("错误信息").Check CheckPoint("错误信息")
Browser("XX").Page("错误信息").Sync
Browser("XX").Close
Browser("Browser").Page("XX").Sync
Browser("Browser").Close
End If

ivanland 发表于 2008-11-28 09:08:33

没看懂是什么意思,"如果提示“输入错误”则判断提示信息是否正确"?
应该用提示框的value、innertext、outertext属性来判断比较好

zhengjun 发表于 2008-11-28 10:17:12

不必那么麻烦,如果对话框存在的话,Exist会直接返回TRUE,脚本可以这样写:

if Browser("XX").Dialog("Microsoft Internet Explorer").Exist
then
Browser("XX").Dialog("Microsoft Internet Explorer").Click
else
Browser("XX").Page("错误信息").Check CheckPoint("错误信息")
Browser("XX").Page("错误信息").Sync
Browser("XX").Close
Browser("Browser").Page("XX").Sync
Browser("Browser").Close
End If

liweilirui 发表于 2008-12-1 10:18:58

谢谢zhengjun,ivanland问题已解决
可以直接if Browser("XX").Dialog("Microsoft Internet Explorer").Exist 来判断

xavier_007 发表于 2008-12-1 12:55:08

:lol :lol

miskmat 发表于 2009-4-21 20:01:08

谢谢刚碰到这个问题。。:lol

miskmat 发表于 2009-4-21 20:03:54

:kiss:

virgolong 发表于 2009-4-21 23:07:48

我也碰到过这种提示框的判断
用的是Browser("name:=XX").Dialog("text:=Microsoft Internet Explorer").WebButton("attached text:=.*超出库存.*").Exist 来判断
但运行时发现,若对象存在是处理很快,若对象不存在,则会等待很长时间才返回false执行下一句
请问有什么改进么

ls_721521 发表于 2009-4-22 09:13:46

Exist(2) 一般2秒钟就足可以判断出存在了。

Jun_Li 发表于 2009-4-22 09:19:20

if Browser("XX").Dialog("Microsoft Internet Explorer").Exist("等待时间") Then
...
不知道这样是否可以提高脚本的稳定性呢 ! 设想你的站点比较慢的情况下。

风雪夜归人 发表于 2009-4-22 09:25:16

if Browser("XX").Dialog("Microsoft Internet Explorer").WebButton("xx").Exist(2) Then
xxx
Else if Browser("XX").Dialog("Microsoft Internet Explorer").WebButton("YY").Exist(2) Then
YYY
End If

窃以为这样比较好一点,就是判断按钮是否存在,另外就是exist后面需要加上个时间参数(上例为2秒),在规定的时间内,如果存在就执行相应操作,否则执行下一条语句。如果不加,而且要判断的对象不存在的话,则默认为qtp设置的超时时间。

[ 本帖最后由 风雪夜归人 于 2009-4-22 09:35 编辑 ]

virgolong 发表于 2009-4-22 09:43:06

谢谢各位,又学到了
原来帮助文档的exist语法写的有时间参数 object.Exist(),自己看到了也没想下用法
页: [1]
查看完整版本: QTP如何判断是否打开了Browser("XX").Dialog("XX").Exist