51Testing软件测试论坛

标题: QTP如何判断是否打开了Browser("XX").Dialog("XX").Exist [打印本页]

作者: liweilirui    时间: 2008-11-27 17:51
标题: 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
没看懂是什么意思,"如果提示“输入错误”则判断提示信息是否正确"?
应该用提示框的value、innertext、outertext属性来判断比较好
作者: zhengjun    时间: 2008-11-28 10:17
不必那么麻烦,如果对话框存在的话,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
谢谢zhengjun,ivanland问题已解决
可以直接if Browser("XX").Dialog("Microsoft Internet Explorer").Exist 来判断
作者: xavier_007    时间: 2008-12-1 12:55

作者: miskmat    时间: 2009-4-21 20:01
谢谢刚碰到这个问题。。
作者: miskmat    时间: 2009-4-21 20:03

作者: virgolong    时间: 2009-4-21 23:07
我也碰到过这种提示框的判断
用的是Browser("name:=XX").Dialog("text:=Microsoft Internet Explorer").WebButton("attached text:=.*超出库存.*").Exist 来判断
但运行时发现,若对象存在是处理很快,若对象不存在,则会等待很长时间才返回false执行下一句
请问有什么改进么
作者: ls_721521    时间: 2009-4-22 09:13
Exist(2) 一般2秒钟就足可以判断出存在了。
作者: Jun_Li    时间: 2009-4-22 09:19
if Browser("XX").Dialog("Microsoft Internet Explorer").Exist("等待时间") Then
...
不知道这样是否可以提高脚本的稳定性呢 ! 设想你的站点比较慢的情况下。
作者: 风雪夜归人    时间: 2009-4-22 09:25
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
谢谢各位,又学到了
原来帮助文档的exist语法写的有时间参数 object.Exist([TimeOut])  ,自己看到了也没想下用法




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2