|
以下内容是向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说得那样——够** ^_^ |
|