在RFT中如何使用TestObject.find 方法。
IBM的文章地址:使用 IBM Rational Functional Tester: 了解和使用 TestObject.find 方法
Using IBM Rational Functional Tester: Understanding and Using the TestObject.find Method
文章中指出,使用find方法可以大大降低管理TestObjectMap的成本,并且简化操作。
但是文章中第二部分提到:在基于 Eclipse 的应用程序中实际使用 RFT find 方法。
不知其中说的FindAppObjects.java是由谁提供的。IBM的框架?还是要自己来写?还是JAVA本身就提供?
我们又应该如何使用基于 find的 getter 方法呢? 同问。。。
我在实际中尝试过它说的方法,感觉并没有那么神奇。偶尔为之或许可以,或者在小的产品测试中使用可以,大的项目中使用非常不现实。 好像没什么用处,界面对象有些变化还是找不出来,还请高人指点详细用法 这个方法还是很有用处的。
可以最大程度的不依赖录制功能。
但是话说回来了,不用录制功能,还值那么多钱么。 经过这段时间的学习,用find方法的必要性越来越大了
对于一个比较大的项目或者项目版本将会不断地升级,或者一下小的变更,在设计脚本框架的时候考虑用这种方法是非常有必要的。
在RFT自带的录制功能,在脚本回放的过程中,对测试对象属性的要求过于严格,可能经过我们对测试对象参数修改后,会是适用于你的系统,但是在脚本对象重用性这方面表现的尤为差劲。
如果采用find方法后,我们在后期进行维护的时会得到很大的优势。
不过用这种方法要求我们对系统的前台设计非常高,这样我们更好的定位重用的测试对象方法。
[ 本帖最后由 jiangxinlu 于 2007-2-15 15:27 编辑 ] 楼上的,调整被识别对象的属性各个权重,可以避免"过于严格"的问题出现,这也是IBM的卖点之一。
但仍旧不如find来的实惠。 我觉得用find最大的好处是可移植性,Object Map用find代替,datapool用数据库代替,或者用Excel代替,最终只需要share测试脚本就可以了,就这么简洁明了。
偶的宗旨:越简洁越好,纯脚本测天下! find 和isexist有什么区别呢? IBM社区的文章写的都是蛮好的 TestObject.find()方法
容易出错的地方建议用该方法进行查找,如当前页面,测试对象图比较复杂,对像所在位置太深时,ie经常死掉或退出。
另外该查询返回的是数组,可以方便的用数组长度进行判断,是否找到对象,并不一定要取到对象进行验证,查找的过程也可以算做一种验证方式。 不过这个方法好像是遍历整个页面的对象,效率不太高。我写了一个通过1~2个属性查找对象的函数,原理是判断返回数组的长度,查找效率不是很高,需要3~5秒。不知道如何改进,请各位指教!也可交流交流心得:bull33@163.com 楼上的,真的需要那么久么?我觉得至少光查IE的话,不用那么久吧。
Broswer里面的还可以啊。
你要是让他所有的都查一遍,或许会慢,但是也不至于两三秒吧。调试的时候可能差不多。 用Find()方法的时候,经常得到不同的结果,有时明明存在三个对象,却只找到一个,有时一个都找不到。不知道你们有没有遇到这样的情况? unregisterAll();
+
waitForExistence(); to 13楼
以前遇到过是在存在多个applet对象的时候,
疑为页面加载时间的原因,当时用sleep或者waitForExistence可以很好解决。
页:
[1]