51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[求助] QTP中如何得到Msgbox中的内容

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-4-18 01:49:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想要在QTP中得到如图“Please enter password”这句话,应如何做。
我用Dialog("Flight Reservations").GetORProperty("text")得到的是“Flight Reservations”

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
发表于 2009-4-18 02:26:49 | 只看该作者

回复 1# 的帖子

msgbox Dialog("Login").Dialog("Flight Reservations").Static("Please enter password").GetROProperty("text")
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-4-18 10:43:59 | 只看该作者

回复 1# 的帖子

我不是要得到那个对话框,我只要得到对话框中那行提示信息。
其实我是要测试系统实际的提示信息与期望中的提示信息是否一致。
我的脚本如下。我是个初学者,自学的。望各位多多指教,虚心向大家学习了。
Dim i
Dim ioutmsg'实际输出的提示信息的参数
Dim statusmsg'期望的提示信息的参数

For i=1 to datatable.GetSheet("Action1").getrowcount

Dialog("Login").WinEdit("Agent Name:").Set DataTable("agentname", dtLocalSheet)
Dialog("Login").WinEdit("Password:").SetSecure DataTable("password", dtLocalSheet)
Dialog("Login").WinButton("OK").Click
If  Dialog("Login").Dialog("Flight Reservations").Exist Then

  datatable("loginmsg",dtlocalsheet)=Dialog("Login").Dialog("Flight Reservations").GetROProperty("text")'将实际输出的提示信息存入到表中的loginmsg列
  ioutmsg=datatable("loginmsg",dtlocalsheet)'将loginmsg列中的信息传给参数ioutmsg
  Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click

End If

statusmsg=datatable("status",dtlocalsheet)
If ioutmsg<>statusmsg Then
        reporter.ReportEvent micFail,"登录功能测试","期望的提示信息为:"&statusmsg&",实际输出的提示信息为:"&ioutmsg
End If
datatable.GetSheet("Action1").setnextrow

Next

Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"

[ 本帖最后由 lsg0011 于 2009-4-18 10:51 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-4-18 10:56:34 | 只看该作者
我得到的数据结果如图:
请各位多多指教。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-4-18 16:51:12 | 只看该作者
今天人少,自己顶一下.
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-4-18 17:53:54 | 只看该作者

2楼正解~

原帖由 lsg0011 于 2009-4-18 10:43 发表
我不是要得到那个对话框A,我只要得到对话框中那行提示信息B。
其实我是要测试系统实际的提示信息与期望中的提示信息是否一致。
我的脚本如下。我是个初学者,自学的。望各位多多指教,虚心向大家学习了。
Dim i
D ...

你的:
datatable("loginmsg",dtlocalsheet)=Dialog("Login").Dialog("Flight Reservations").GetROProperty("text")'将实际输出的提示信息存入到表中的loginmsg列

这行,取的值一直都是那个对话框A的TEXT,而非提示信息B的TEXT,请注意:对话框和提示信息是不同的对象,它们的属性值text也不同。。。,所以如果你不想使用描述编程定义的话,还得把那个提示信息对象加进QTP的对象库,下面为我写的
。。。
datatable("loginmsg",dtlocalsheet)=Dialog("Login").Dialog("Flight Reservations").Static("提示信息").GetROProperty("text")
。。。
对象库如附件

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-4-18 22:04:44 | 只看该作者

回复 6# 的帖子

我知道了,我应该添加一个“提示信息”的对象进去。
哈哈,我以为那些提示信息是"Flight Reservations"对象的属性,原来要把他当成对象来处理哈。
是你的那个图让我明白了,谢谢你。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2013-2-28 15:21:36 | 只看该作者
回复 7# lsg0011
您好,我也是新学习的,我添加一个“提示信息”的对象进去之后,在FOR循环结束后,他的loginmsg中只有第一行有文字是为什么啊?就是说我两个进行比较的几次中,datatable中只有第一行数据比较成功了,后面几行的数据loginmsg值都是空的,我应该怎么做啊?谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2013-5-9 16:07:30 | 只看该作者
看贴还是有作用的,这不解决了俺一上午纠结的问题   哈~哈
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-15 03:47 , Processed in 0.075415 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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