51Testing软件测试论坛

标题: GetROProperty 取不到属性值是为什么? [打印本页]

作者: liuliu022004    时间: 2010-5-14 14:55
标题: GetROProperty 取不到属性值是为什么?
我想得到运行时urlname的sourceindex属性的值,但是脚本运行后sourceindex总是空。不晓得为什么。(用spy看,sourceindex值能看到,有值)
sourceindex = Browser("XXXXX").Page("XXXXX").Frame("RightFrame").Link("urlname").GetROProperty("sourceinde")
但是取text属性,取值正常。
name1 = Browser("XXXXX").Page("XXXXX").Frame("RightFrame").Link("urlname").GetROProperty("text")
不知道和什么有关,请大家帮忙看看。
作者: skyzhu    时间: 2010-5-14 15:25
那肯定就是没有这个属性了
到底是sourceinde 还是 sourceindex
作者: liuliu022004    时间: 2010-5-14 15:29
sourceindex
spy的时候看是有的 页面我都没有关 属性值肯定是有的啊
作者: skyzhu    时间: 2010-5-14 15:59
那你看到的应该是 runtime object Property,不是test object Property
取runtime 属性应该是
Browser("XXXXX").Page("XXXXX").Frame("RightFrame").Link("urlname").Object.GetROProperty("sourceindex")
或者
Browser("XXXXX").Page("XXXXX").Frame("RightFrame").Link("urlname").GetROProperty("attribute/sourceindex")

[ 本帖最后由 skyzhu 于 2010-5-14 16:34 编辑 ]
作者: liuliu022004    时间: 2010-5-14 16:15
原帖由 skyzhu 于 2010-5-14 15:59 发表
那你看到的应该是 runtime object Property,不是test object Property
取runtime 属性应该是
Browser("XXXXX").Page("XXXXX").Frame("RightFrame").Link("urlname").Object.GetROProperty("sourceindex")
或者
...


我就看的runtime property啊  这句话应该没问题啊  sourceindex就是它的属性
Browser("XXXXX").Page("XXXXX").Frame("RightFrame").Link("urlname").GetROProperty("sourceindex")

spy看如下  和属性名大小写无关,换大写也不行
作者: skyzhu    时间: 2010-5-14 16:30
run-time object Property 不是像你这样取的
你这样取的是 test object Property
试下上面说的就知道了,仔细看,不一样的
作者: liuliu022004    时间: 2010-5-14 16:44
原帖由 skyzhu 于 2010-5-14 16:30 发表
run-time object Property 不是像你这样取的
你这样取的是 test object Property
试下上面说的就知道了,仔细看,不一样的



Browser("XXXXX").Page("XXXXX").Frame("RightFrame").Link("urlname").GetROProperty("attribute/sourceindex")
恩 加了attribute就得到了。谢谢。

不过我又有点不明白了GetROProperty不是取runtime属性的吗?
你的意思,它不就成了
Browser("XXXXX").Page("XXXXX").Frame("RightFrame").Link("urlname").GetROProperty("sourceindex") 等于
Browser("XXXXX").Page("XXXXX").Frame("RightFrame").Link("urlname").GetTOProperty("sourceindex")?
作者: skyzhu    时间: 2010-5-14 16:57
GetROProperty
Returns the current value of the test object property from the object in the application.

GetTOProperty
Returns the value of the specified property from the test object description.

都和run-time属性没有关系的,看看资料吧
作者: liuliu022004    时间: 2010-5-14 17:22
“关键在于RO和TO,R,就是Runtime,T就是Testtime,O就是Object。因此顾名思义,RO就是在测试执行时的对象,TO就是录制/ 编写测试时的对象。是同一个类在不同的时间生成的不同的实例,一般来说TO是静态的,而RO是动态的(每次执行测试都会生成新的实例)。”

因为想用,一直看帖子,所以才这么认为的啊。我认为,ro就是运行过程中对象真正的属性值,to是对象库中属性的值啊。

现在看,我应该是忽略了runtime object和runtime property的概念。

非常感谢skyzhu

(习惯用图给自己做小结,既然得到别人的帮忙,所以小结也放这,希望对大家也有帮助,别犯我的错误)
作者: souchy    时间: 2010-5-18 14:29
虽然没有搞明白具体原理,但起码知道怎么回事了。学到了!!!
作者: caodongjian    时间: 2011-4-5 11:48
学习了。我也遇到这个问题。。什么感谢




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