51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3943|回复: 8
打印 上一主题 下一主题

[原创] QTP如何获取弹出对话框

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-3-31 17:59:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
不知道如何获取弹出的对话框 望大家给解答 谢谢啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-3-31 18:20:07 | 只看该作者
一般来说弹出的是 Dialog 对象
只是存在不存在的话,用exist判断下就可以了
如果说是要截上面的文字,可以用description找这一类CLASS NAME的子对象,但会出现不止一个,一般2、3个。对其中的对象遍历,找到“提示内容”相关的那个属性,非空值的那个就是“请输入您的姓名”
所有能区别哪个Dialog 的属性都是和提示内容有关系的。。暂时没想到什么别的好办法

[ 本帖最后由 skyzhu 于 2010-3-31 19:23 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-3-31 21:24:19 | 只看该作者

回复 1# 的帖子

首先,你要先添加这个弹出窗口到对象库里。然后,根据这个是一个win应用程序,窗口的对象就是Browser().Dialog("来自 ......."),取出对象的值,程序如下:
error=Browser().Dialog("来自 .......").Status(" 请输入您的姓名").GetRoprotery("text")
这个不知道是不是你想要的结果?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-4-1 10:01:45 | 只看该作者
楼上几位都回答的差不多了。我想问LZ,获取对话框你要做什么,是想判断是否有这个对话框,还是要看对话框里面的文字信息是否正确?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-4-6 13:57:45 | 只看该作者

回复 4# 的帖子

我想看看是否有这个对话框,并且判断是什么信息!!!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-4-6 15:55:50 | 只看该作者
那你就要使用 Browser().Dialog("来自 .......").Exist  判断这个值是否为真,如果为真的话,就输入对话框中信息的值,即
Browser().Dialog("来自 .......").status("....").GetROProperty("innertext").试试看可不可以。呵呵。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-4-7 09:35:47 | 只看该作者
可以获取到内容的,楼上的也说了,不过能简化就简化吧,貌似这样做意义不大,业务需求一定要?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2011-7-30 11:06:13 | 只看该作者
Dim i '定义行号
Dim outputvalue'定义读取系统实际的提示信息的变量
Dim isyuqizhi'定义读取系统预期值的变量

For i=1 to datatable.GetSheet("Action1").getrowcount
If Browser("xxx").Dialog("来自网页的消息").Exist Then
        Browser("xxx").Dialog("来自网页的消息").WinButton("确定").Click
End If
Browser("xxx").Page("xxxx").WebEdit("txt_USER_ID_V1").Set DataTable("username",dtLocalSheet)
Browser("xxx").Page("xxxx").WebEdit("txt_PASSWORD_V1").SetSecure DataTable("password", dtLocalSheet)
Browser("xxx").Page("xxxx").Image("load").Click
outputvalue=Browser("xxx").Dialog("来自网页的消息").Static("myname").GetTOProperty("Text")



datatable("outmsg",dtlocalsheet)=outputvalue'将实际输出值赋予变量outputvalue
isyuqizhi=datatable("yuqizhi",dtlocalsheet)'将预期值赋予变量isyuqizhi

If  outputvalue<>isyuqizhi Then
        reporter.ReportEvent 1,"登录功能测试","逾期值为:"+isyuqizhi+",实际值为:"+outputvalue+"。"
End If

Datatable.GetSheet("Action1").setnextrow'获取Action1中的下一行数据

Next

Browser("xxx").Page("xxxx").Link("退出").Click
Browser("xxx").Page("xxxx_2").Sync
Browser("xxx").Close


、、、、、、、、、、、、这样写还是无法获取输出值,请各位帮我看看问题在哪里,非常感谢!!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2011-8-1 17:36:15 | 只看该作者
outputvalue=Browser("xxx").Dialog("来自网页的消息").Static("myname").GetROProperty("Text")试下
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-19 15:21 , Processed in 0.070933 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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