51Testing软件测试论坛

标题: qtp static对象如何取出变化的值 [打印本页]

作者: 日立张    时间: 2010-8-19 11:38
标题: qtp static对象如何取出变化的值
browser("").dialog("").static("提示信息").gettoproperty
对于dialog中,虽然提示信息对象名称是"用户密码错误",但如果信息对象名称是“该用户不存在”,不用更改会自动识别,我想主要是录制第一遍时,“用户密码错误”只是让运行时能找到这个控制,而不管它是什么内容,因为在对象仓库中,text不是决定该对象的属性

但是我现在想让它能自动识别,随着提示信息的名称变化而读取 请问各位大侠如何做
作者: zzxxbb112    时间: 2010-8-19 12:00
先定位对象,然后直接用GetROProperty就可以取运行时的变化值了,具体用法可以参见F1
作者: skyzhu    时间: 2010-8-19 13:18
下面代码不能用于10.0(应该是Dialog定位不到)
因为Static 有text值的只有一个,其他都是空的,临时是这么做的

Set oDesc = Description.Create()
oDesc("Class Name").value = "Static"
Set allstatic = BrowserObj.Dialog("nativeclass:=#.*").ChildObjects(oDesc)
For x = 0 To allstatic.Count - 1
        Getmsg = allstatic.item(x).GetROProperty("text")
        If Len(Getmsg) > 0 Then
                Exit For
        End If
Next
BrowserObj.Dialog("nativeclass:=#.*").Close
作者: feiyunkai    时间: 2010-8-19 13:34
把弹出提示框上的确定按钮添加到对象库,确定按钮attached text属性值,就是static中提示信息的内容,使用GetROProperty方法获取脚本运行时attached text的属性值
info=Browser("").Dialog("Microsoft Internet Explorer").WinButton("确定").GetROProperty("attached text")

说明:GetROProperty是获取脚本运行时的对象属性(动态),GetTOProperty是获取对象库中对象的属性(静态),所以你脚本中用GetTOProperty是实现不了你的需求的,应该用GetROProperty

[ 本帖最后由 feiyunkai 于 2010-8-19 13:39 编辑 ]
作者: 日立张    时间: 2010-8-19 14:00
谢谢 各位大侠的帮忙
info=Browser("").Dialog("Microsoft Internet Explorer").WinButton("确定").GetROProperty("attached text")
attached text 这个属性一直是空的值

取出ChildObjects然后来做应该是可以的,我弄了半天还没搞出来,还在继续

希望有遇到这样static的提示信息的兄弟给个帮助
作者: 日立张    时间: 2010-8-19 14:09
谢谢 大侠的帮忙
我winbutton(确定)这个对象里attached text是空的
但static(static)中值是有的
作者: feiyunkai    时间: 2010-8-19 16:51
原帖由 日立张 于 2010-8-19 14:09 发表
谢谢 大侠的帮忙
我winbutton(确定)这个对象里attached text是空的
但static(static)中值是有的


print browser("").dialog("").static("提示信息").GetRoproperty("attached text")
作者: yahuu    时间: 2010-8-20 09:15
用GetRoproperty("GetVisibleText")试一下看




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2