kursk 发表于 2007-12-13 14:56:50

GetToProperty的一些补充说明

以下内容是向Best同志学习到的一些内容,可以作为http://bbs.51testing.com/thread-87074-1-1.html这个贴子的增加内容,大家有兴趣可以看看

先看下面这个例子:
........webelement("innertext:=2007年06月").GetTOProperty("abs_y")

毫无疑问,这句话是会报错的!但是报错的原因是什么?如果你的想法大致于下面相同:

"这句代码错误的原因是GetToProperty是取对象库中的对象,然后在得到这个对象的属性的值,而描述性编程在对象库中根本就没有对象,怎么能得到这个属性呢?这句代码错误的原因就在于描述性编程不能使用GetToProperty这个方法!"

先不回答这种想法是错误还是正确的,再看看下面这句代码

........webelement("innertext:=2007年06月","abs_y:=100").GetTOProperty("abs_y")

抛开代码的意义不谈(用大美女LY的话说——明明知道abs_y的值还要Get abs_y的值真是够白痴的),你执行一下,居然是正确的,100!毫无疑问的100,为什么会这样呢?不是说GetToProperty里不能获得对象库里没有的对象的属性吗?

其实仓库描述和脚本描述出来的,都是TO测试对象,都可以被GetToProperty获得,只是GetTOProperty这一函数读取的封装属性,必须是TO里的关键属性

如何理解关键属性?
打开你打开对象仓库,选中某个对象,比如一个webbutton,里面都有一些属性被设置成关键属性,但一般只有几个属性,省下的属性全被忽略了,需要add/remove...按钮才可以出来。你先把abs_x选择出来,abs_y不选择,然后执行下面的代码

.....webbutton("button").GetToProperty("abs_x")
.....webbutton("button").GetToProperty("abs_y")

结果是什么?我想你一定明白了关键属性的含义

回到最初的问题,
........webelement("innertext:=2007年06月").GetTOProperty("abs_y")
这句代码的问题并不是因为GetToProperty没有找到对象,而且因为在这个对象里没有abs_y这个关键属性,当然了,如果你已经知道这个关键属性的值,就不会GetToProperty,否则就象大美女LY说得那样——够** ^_^

htot05 发表于 2007-12-13 15:10:11

很好的一篇文章, 纠正了以前的一些错误的认识, 受教了~~~顶!!

flyfly310 发表于 2007-12-13 15:31:14

这个帖子我要顶的,有我的大名~~~~~~~~~~~~~~~~

muquanyifan 发表于 2007-12-13 16:52:56

不错
不过俺一般用GetROProperty:lol

walker1020 发表于 2007-12-14 23:00:23

非常感谢楼主的研究和总结,论坛上有了越来越多这样的帖子,质量才会提高

sunlaomi 发表于 2007-12-15 08:22:06

谢谢提供~

5555 发表于 2007-12-15 22:38:02

真是学习了,谢谢分享~

ch4isme 发表于 2007-12-17 20:50:53

顶楼主,研究的透彻啊···茅塞顿开

591728103 发表于 2010-5-10 16:09:25

f好帖子

支持一下

liuliu022004 发表于 2010-5-11 09:16:41

学习了 顶顶 留个脚印
页: [1]
查看完整版本: GetToProperty的一些补充说明