51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 5539|回复: 11
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-11-27 17:51:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
场景:
    网站自动测试。每个输入框输入非法字符的时候会有提示“输入错误”。输入正确的时候则弹出提示框,"提交成功"。点击确定后继续。脚本录制后我需要加入一个判断。如果弹出提示框“提交成功”则点确定。如果提示“输入错误”则判断提示信息是否正确。
疑问:
    我不知道如何判断是否弹出了提示框。
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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-11-28 09:08:33 | 只看该作者
没看懂是什么意思,"如果提示“输入错误”则判断提示信息是否正确"?
应该用提示框的value、innertext、outertext属性来判断比较好
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 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
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-12-1 10:18:58 | 只看该作者
谢谢zhengjun,ivanland问题已解决
可以直接if Browser("XX").Dialog("Microsoft Internet Explorer").Exist 来判断
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-12-1 12:55:08 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-4-21 20:01:08 | 只看该作者
谢谢刚碰到这个问题。。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-4-21 20:03:54 | 只看该作者
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2015-9-22 15:26
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]测试营长

    8#
    发表于 2009-4-21 23:07:48 | 只看该作者
    我也碰到过这种提示框的判断
    用的是Browser("name:=XX").Dialog("text:=Microsoft Internet Explorer").WebButton("attached text:=.*超出库存.*").Exist 来判断
    但运行时发现,若对象存在是处理很快,若对象不存在,则会等待很长时间才返回false执行下一句
    请问有什么改进么
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2009-4-22 09:13:46 | 只看该作者
    Exist(2) 一般2秒钟就足可以判断出存在了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2009-4-22 09:19:20 | 只看该作者
    if Browser("XX").Dialog("Microsoft Internet Explorer").Exist("等待时间") Then
    ...
    不知道这样是否可以提高脚本的稳定性呢 ! 设想你的站点比较慢的情况下。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 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 编辑 ]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-9-22 15:26
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]测试营长

    12#
    发表于 2009-4-22 09:43:06 | 只看该作者
    谢谢各位,又学到了
    原来帮助文档的exist语法写的有时间参数 object.Exist([TimeOut])  ,自己看到了也没想下用法
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-29 03:44 , Processed in 0.087727 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表