lovetest6 发表于 2006-12-20 15:52:57

在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 方法呢?

nanchi 发表于 2007-1-9 10:56:39

同问。。。

我在实际中尝试过它说的方法,感觉并没有那么神奇。偶尔为之或许可以,或者在小的产品测试中使用可以,大的项目中使用非常不现实。

自由组合 发表于 2007-2-11 19:59:10

好像没什么用处,界面对象有些变化还是找不出来,还请高人指点详细用法

lovetest6 发表于 2007-2-12 10:53:06

这个方法还是很有用处的。
可以最大程度的不依赖录制功能。
但是话说回来了,不用录制功能,还值那么多钱么。

jiangxinlu 发表于 2007-2-15 15:25:51

经过这段时间的学习,用find方法的必要性越来越大了
对于一个比较大的项目或者项目版本将会不断地升级,或者一下小的变更,在设计脚本框架的时候考虑用这种方法是非常有必要的。
在RFT自带的录制功能,在脚本回放的过程中,对测试对象属性的要求过于严格,可能经过我们对测试对象参数修改后,会是适用于你的系统,但是在脚本对象重用性这方面表现的尤为差劲。
如果采用find方法后,我们在后期进行维护的时会得到很大的优势。

不过用这种方法要求我们对系统的前台设计非常高,这样我们更好的定位重用的测试对象方法。

[ 本帖最后由 jiangxinlu 于 2007-2-15 15:27 编辑 ]

lovetest6 发表于 2007-2-16 09:03:21

楼上的,调整被识别对象的属性各个权重,可以避免"过于严格"的问题出现,这也是IBM的卖点之一。
但仍旧不如find来的实惠。

刀客 发表于 2007-5-8 15:04:24

我觉得用find最大的好处是可移植性,Object Map用find代替,datapool用数据库代替,或者用Excel代替,最终只需要share测试脚本就可以了,就这么简洁明了。

偶的宗旨:越简洁越好,纯脚本测天下!

zihua 发表于 2007-9-25 09:57:30

find 和isexist有什么区别呢?

aiiaiyou 发表于 2007-9-30 10:58:20

IBM社区的文章写的都是蛮好的

tthhbbandy 发表于 2007-11-22 13:14:58

TestObject.find()方法
容易出错的地方建议用该方法进行查找,如当前页面,测试对象图比较复杂,对像所在位置太深时,ie经常死掉或退出。
另外该查询返回的是数组,可以方便的用数组长度进行判断,是否找到对象,并不一定要取到对象进行验证,查找的过程也可以算做一种验证方式。

bull67890 发表于 2007-11-25 22:21:34

不过这个方法好像是遍历整个页面的对象,效率不太高。我写了一个通过1~2个属性查找对象的函数,原理是判断返回数组的长度,查找效率不是很高,需要3~5秒。不知道如何改进,请各位指教!也可交流交流心得:bull33@163.com

lovetest6 发表于 2007-11-30 18:42:37

楼上的,真的需要那么久么?我觉得至少光查IE的话,不用那么久吧。

Broswer里面的还可以啊。
你要是让他所有的都查一遍,或许会慢,但是也不至于两三秒吧。调试的时候可能差不多。

xiaodouble 发表于 2008-1-8 11:27:51

用Find()方法的时候,经常得到不同的结果,有时明明存在三个对象,却只找到一个,有时一个都找不到。不知道你们有没有遇到这样的情况?

lovetest6 发表于 2008-1-10 17:45:54

unregisterAll();
+
waitForExistence();

tsingjob 发表于 2008-2-14 11:54:30

to 13楼
以前遇到过是在存在多个applet对象的时候,
疑为页面加载时间的原因,当时用sleep或者waitForExistence可以很好解决。
页: [1]
查看完整版本: 在RFT中如何使用TestObject.find 方法。