51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5303|回复: 21
打印 上一主题 下一主题

[原创] 使用QTP时有关弹出框的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-2 10:11:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有谁知道用QTP如何获取弹出框的内容吗?
如输入密码,我输入的位数不对,会提示"密码长度为5-8位",那我怎样取出该提示信息并保存到Excel或其它文本文件中?
先谢谢解答!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-8-2 10:25:42 | 只看该作者
去好好看看GetRoProperty方法是怎么用的吧
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-8-2 10:36:08 | 只看该作者
能不能说的详细一点啊?GetRoProperty方法,QTP教程里有吗?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-8-2 13:18:08 | 只看该作者
哪位高手能解答一下
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-8-2 14:51:31 | 只看该作者
高手何在?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-8-2 15:27:14 | 只看该作者
俺不是高手。
加对象的时候把Static加上。

Browser("Sina").Dialog("Microsoft Internet Explorer").Static("Same").GetVisibleText(TOP)
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-8-2 15:44:45 | 只看该作者
xie xie jie da!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-8-2 17:05:37 | 只看该作者
不错,以前没用过getvisibaltext方法,,还挺好用啊!!哈哈!!谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-8-2 22:06:33 | 只看该作者
原帖由 gz_xie 于 2007-8-2 15:27 发表
俺不是高手。
加对象的时候把Static加上。

Browser("Sina").Dialog("Microsoft Internet Explorer").Static("Same").GetVisibleText(TOP)


不用加static直接在dialog上getvisibletext,然后处理字符串就可以了。因为staic有时候不方便放在对象库里(比如它的上层有可能是dialog,也有可能是frame)
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2007-8-3 09:46:10 | 只看该作者

回复 #9 danmy 的帖子

非常感谢你的回答,但我不是很懂vbs,还不是很明白你的意思,能不能举个简单的例子啊! 谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2007-8-6 10:10:49 | 只看该作者
Browser("Sina").Dialog("Microsoft Internet Explorer").Static("Same").GetVisibleText(TOP) [/quote]

static("Same")中的same是什么?是不是固定的
GetVisibleText(TOP)中的TOP指什么?
先谢谢解答!
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-8-6 10:58:08 | 只看该作者

个人理解

same,指相同的dialog
top:指相同的dialog中最上面的那个,获得最上面那个的text
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2007-8-6 12:58:17 | 只看该作者
xie xie lou shang jie da!
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2007-8-6 14:46:04 | 只看该作者
为了帖子不被打沉,被迫灌水.请谅解!
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2007-8-6 19:17:24 | 只看该作者
为了帖子不被打沉,被迫灌水.........
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2007-8-7 17:48:38 | 只看该作者
如果弹出对话框就获取上面提示信息并与表中的信息对比,不统一证明弹出的提示出错,主要用来验证
 if browser("web_name".dialog("dialog_name").exist(1) then'如果不出现=false
error_message=browser("web_name".dialog("diaglog_name".static("用户密码错误!").getRoproperty("text")
   if error_message<>(datatable.value("error_info"))then
msgbox(error_message)
end if
browser("web_name").dialog("diaglog_name").close
end if
这里我总结了两点技巧:
 一是:对于dialog中,虽然提示信息对象名称是"用户密码错误",但如果信息对象名称是“该用户不存在”,不用更改会自动识别,我想主要是录制第一遍时,“用户密码错误”只是让运行时能找到这个控制,而不管它是什么内容,因为在对象仓库中,text不是决定该对象的属性
二是:如果对于提示信息比较长的,可以用mid(error_message,n,m)取一部份特征提示信息进行验证,这样我想可以节省处理时间,又可以避免长度以及空格等字符的处理

不是很理解上面这段话,哪位能简单的总结一下吗?谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2007-8-7 18:00:26 | 只看该作者
谢谢了!又多了解一点了.
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    18#
    发表于 2007-8-7 23:49:55 | 只看该作者
    原帖由 jiangdanyang 于 2007-8-7 17:48 发表
    如果弹出对话框就获取上面提示信息并与表中的信息对比,不统一证明弹出的提示出错,主要用来验证
     if browser("web_name".dialog("dialog_name").exist(1) then'如果不出现=false
    error_message=browser("web ...


    这个回复是你copy了别人的回复吧?问一下原作者吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
     楼主| 发表于 2007-8-17 11:35:58 | 只看该作者
    有哪位知道的能否解答一下,谢谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
     楼主| 发表于 2007-8-17 15:26:22 | 只看该作者
    人呢?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-28 11:21 , Processed in 0.125789 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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