51Testing软件测试论坛

标题: 通过GetROProperty得到的属性都是空的,怎么办? [打印本页]

作者: gdutlzl    时间: 2012-5-30 15:24
标题: 通过GetROProperty得到的属性都是空的,怎么办?
我想得到一个新生成的order的order ID, 这个order ID是数字的,每次生成的都不一样,且通过spy发现类型是WebElement,  我通过GetROProperty得到innertext是空的,查看其他属性也是空的,如outertext, innerhtml, outerhtml, 这个问题应该很多人都遇到过吧?请高手指点一下,非常感谢!

xdf=Browser("ABC").Page("ABC").Frame("content").WebElement("174961").GetTOProperty("innertext")
MSGBOX "xdf="&xdf

174961是抓取对象的时候自动生成的对象名,其实就是该order的order ID,但结果得到innertext是空的
作者: May_may    时间: 2012-5-30 16:32
是不是对象的属性发生变化了呢导致对象定位不准确,尝试用描述性语言来写变化的对象呢
作者: woddebbmm    时间: 2012-5-30 17:31
"xdf=Browser("ABC").Page("ABC").Frame("content").WebElement("174961").GetTOProperty("innertext")
MSGBOX "xdf="&xdf"  这个确定没写错么?你写的是GetTOProperty哦
改成GetROProperty("innertext")  试下
作者: takasaki    时间: 2012-5-30 20:22
换描述试下吧 lz
对象库里面应该是没有页面动态生成的对象的.

现在我们项目对象库里面只有一个ie object
其他所有的都是+description 然后用 ojbIE.childobject(descrioption) 来获取的
作者: wuxue107    时间: 2012-5-31 07:51
回复 1# gdutlzl

xdf=Browser("ABC").Page("ABC").Frame("content").WebElement("174961").Object.innertext
MSGBOX "xdf="&xdf
作者: er963er    时间: 2012-5-31 10:04
GetTOProperty获取的是对象库中的对象属性。GetROProperty获取的是运行中对象的属性。如果属性动态变化,GetTOProperty无法获取正确属性值
作者: 云层    时间: 2012-5-31 10:23
简单说一句你上级对象有问题应该是
作者: joykao    时间: 2012-5-31 17:00
这方法取的是对象库对象的属性啊?你去对象库看下有这个对象吗?看它的属性
如果要拿实时的对象值还是应该用GetROProerty 吧。。。。
作者: gdutlzl    时间: 2012-5-31 18:18
回复 3# woddebbmm


    不好意思,其实我是用RO的,只是用RO的时候返回空值,我就试了一下TO, copy代码的时候忘记改了
作者: gdutlzl    时间: 2012-5-31 18:29
这个问题我用description的方法解决了,但又遇到新的问题。
我我直接录制回放,用description的方法能解决这个问题,但当把description方法用函数实现,且放在框架里面运行,结果还是得不到值。框架加载对象库时我只加载到Frame(也就是说我这个对象库文件只有三级,第一级是Browser,第二级是Page,第三级是Frame),且Browser("ABC").Page("ABC").Frame("content").Exist 是True

我这个框架是用到哪个对象库的时候才加载哪个,是不是我这个对象库加载得太少了?我应该把Frame下面的全部对象都加载?这样的话也太多了,有button等很多对象
作者: gdutlzl    时间: 2012-5-31 18:29
谢谢各位的回答...
作者: takasaki    时间: 2012-6-1 10:07
回复 10# gdutlzl

回lz,frame也用 description的方式来获取.
也就是说对象库里面,只有一个IE object,所有其他的东西都可以用description
作者: joykao    时间: 2012-6-1 16:08
Frame 下面不是还有好多对象吗?你用哪一个就加哪一个对象库啊。。。如果只要去识别frame 那它的子对象要不要都没问题啊
作者: jacky8312    时间: 2012-6-11 17:19
xdf=Browser("ABC").Page("ABC").Frame("content").WebElement("174961").GetROProperty("innertext",result)
作者: zz45509    时间: 2012-6-12 11:17
你应该用GetROProperty.
作者: bichenlu    时间: 2012-6-12 12:05
这个问题我用description的方法解决了,但又遇到新的问题。
我我直接录制回放,用description的方法能解决这个问题,但当把description方法用函数实现,且放在框架里面运行,结果还是得不到值。框架加载对象库时我只加载到Frame(也就是说我这个对象库文件只有三级,第一级是Browser,第二级是Page,第三级是Frame),且 Browser("ABC").Page("ABC").Frame("content").Exist 是True

我这个框架是用到哪个对象库的时候才加载哪个,是不是我这个对象库加载得太少了?我应该把Frame下面的全部对象都加载?这样的话也太多了,有button等很多对象

==》这个问题我也遇到过,我是把对象库导入后调用函数时,无法识别,后来我是将对象库中的对象使用正则匹配了,范围弄广




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