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 没看懂是什么意思,"如果提示“输入错误”则判断提示信息是否正确"?
应该用提示框的value、innertext、outertext属性来判断比较好 不必那么麻烦,如果对话框存在的话,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 谢谢zhengjun,ivanland问题已解决
可以直接if Browser("XX").Dialog("Microsoft Internet Explorer").Exist 来判断 :lol :lol 谢谢刚碰到这个问题。。:lol :kiss: 我也碰到过这种提示框的判断
用的是Browser("name:=XX").Dialog("text:=Microsoft Internet Explorer").WebButton("attached text:=.*超出库存.*").Exist 来判断
但运行时发现,若对象存在是处理很快,若对象不存在,则会等待很长时间才返回false执行下一句
请问有什么改进么 Exist(2) 一般2秒钟就足可以判断出存在了。 if Browser("XX").Dialog("Microsoft Internet Explorer").Exist("等待时间") Then
...
不知道这样是否可以提高脚本的稳定性呢 ! 设想你的站点比较慢的情况下。 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 编辑 ] 谢谢各位,又学到了
原来帮助文档的exist语法写的有时间参数 object.Exist(),自己看到了也没想下用法
页:
[1]