51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3913|回复: 14
打印 上一主题 下一主题

[原创] 如何取得dialog中的文本

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-1-25 17:28:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大虾好!我有一问题请教!

我用QTP9.0录制了一个Action,随后我加了一些判断语句在专家视图中,代码如下:

If  Browser("Browser").Dialog("Microsoft Internet Explorer").Exist Then
        error_message = Browser("Browser").Dialog("Microsoft Internet Explorer").Static("Error code:").GetROProperty("text")
        MsgBox(error_message)
Else
        Reporter.ReportEvent micFail,"Failed","error dialog don't show!"
End If

可是在取对话框的静态文本时,qtp告诉我Static这个对象不能识别,就是说名字叫"Error code"这个Static的对象没办法识别!随后我在object Repository中,确实没有看到这个名字叫"Error code"的这个Static对象,只有那个dialog对象和一个名字叫"确定"winbutton对象。接下来我就add object,也没有办法把它加入到object responsitory.

这个名字"Error code"是我自以为是的名字,也就是我自己给它起的名字。

这个dialog在html中的语句如下:
alert('Error code: 0x' + parseInt(result.errorCode).toString(16) + '\nError message:'+result.errorMessage);
其中result是一个包含错误码和错误信息的对象!


dialog的图在附件中,请大虾们原谅,我不知道怎么插入图片,所以只能上传为文件了。

请大虾们帮帮我,我该怎么做!

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-1-25 17:30:20 | 只看该作者
我的实际目的是取得"Error code: 0x90003010 Error Message:[DISCOVERY]The disocvery range....."这样一个字符串
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-1-25 17:45:33 | 只看该作者
在active screen里右击文本add对象看看,它是怎样一个对象
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-1-25 17:48:58 | 只看该作者
error_message = Browser("Browser").Dialog("Microsoft Internet Explorer").getviable Text()
就可以了

[ 本帖最后由 hyhbeyond 于 2007-1-25 17:50 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-1-25 17:51:47 | 只看该作者
太谢谢xiaonan了!真是一语惊醒梦中人啊!原来我也在active screen中右击鼠标,随后add对象,但是我右击在dialog上,没有右击在文本上。所以一定要在文本上右击!

再次感谢xiaonan!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-1-25 17:56:05 | 只看该作者
Browser("Browser").Dialog("Microsoft Internet Explorer").getviable Text()
这个Api: getviable Text()
不行啊!说不支持这个api,我在帮助中也没有找到这个api
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-1-25 19:33:39 | 只看该作者
GetVisibleText() 注意大小写~~应该没问题的。我一直用这种方法
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-1-26 14:21:57 | 只看该作者
我试了一下可以了的,不过呢没有用static对象识别好,因为这个api返回的字符串包括dialog中所有的字符,甚至是“确定”这个两个字也包括,所以就算取得字符串也要花点力气去检索自己想要的。

不过还是要谢谢hyhbeyond!
还有一事请教,这个函数到底出自哪里?我在qtp中没有检索到!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-1-26 15:46:22 | 只看该作者

有啊,仔细找找,QTP的VBSript中
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2007-1-26 16:43:37 | 只看该作者
我找了呀,确实没有找到,我是在GeneralHelp.chm中搜索的,也没有啊,随后我又在安装qtp的目录中,搜索所有包含“GetVisibleText”的文件,只有在readme.html中找到,但是只是引用了一下,没有详细介绍啊!

有谁能告诉我在那个文件中可以找到!
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-5-8 17:50:28 | 只看该作者
刚好我也遇到楼主同样的问题,看了各位的解答问题解决了,谢谢各位
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-5-9 16:25:20 | 只看该作者
装上.net插件后就能在帮助文档中找到GetVisibleText了。sdlkfj5
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-5-10 09:14:43 | 只看该作者

回复

呵呵,以前也遇到过类似的问题。虽然解决了,但是看看hyhbeyond的解决方法觉得很方便简洁,比我的方法通用性更好,谢谢了!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    14#
    发表于 2007-5-10 09:42:04 | 只看该作者
    原来还有那么多的好东东,今天又长知识了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2007-8-22 14:23:24 | 只看该作者
    楼主我还是不太明白static的用法
    还有就是用static是不是出现不同的dialog时,都要手动添加到对象库.如果是的话那第一遍录制时该怎么办?而GetVisibleText不存在上述问题.
    本人初学QTP,请楼主详细讲一下行吗?谢谢
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-6-18 10:18 , Processed in 0.088211 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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