日立张 发表于 2010-8-19 11:38:52

qtp static对象如何取出变化的值

browser("").dialog("").static("提示信息").gettoproperty
对于dialog中,虽然提示信息对象名称是"用户密码错误",但如果信息对象名称是“该用户不存在”,不用更改会自动识别,我想主要是录制第一遍时,“用户密码错误”只是让运行时能找到这个控制,而不管它是什么内容,因为在对象仓库中,text不是决定该对象的属性

但是我现在想让它能自动识别,随着提示信息的名称变化而读取 请问各位大侠如何做

zzxxbb112 发表于 2010-8-19 12:00:03

先定位对象,然后直接用GetROProperty就可以取运行时的变化值了,具体用法可以参见F1

skyzhu 发表于 2010-8-19 13:18:15

下面代码不能用于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:30

把弹出提示框上的确定按钮添加到对象库,确定按钮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:18

谢谢 各位大侠的帮忙
info=Browser("").Dialog("Microsoft Internet Explorer").WinButton("确定").GetROProperty("attached text")
attached text 这个属性一直是空的值

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

希望有遇到这样static的提示信息的兄弟给个帮助

日立张 发表于 2010-8-19 14:09:05

谢谢 大侠的帮忙
我winbutton(确定)这个对象里attached text是空的
但static(static)中值是有的

feiyunkai 发表于 2010-8-19 16:51:36

原帖由 日立张 于 2010-8-19 14:09 发表 http://bbs.51testing.com/images/common/back.gif
谢谢 大侠的帮忙
我winbutton(确定)这个对象里attached text是空的
但static(static)中值是有的

print browser("").dialog("").static("提示信息").GetRoproperty("attached text")

yahuu 发表于 2010-8-20 09:15:00

用GetRoproperty("GetVisibleText")试一下看
页: [1]
查看完整版本: qtp static对象如何取出变化的值