RFT 主要通过捕捉应用程序对象,刻录用户操作应用程序的过程,然后通过回放来完成测试任务,但 RFT(本文以 IBM? Rational? Functional Tester 版本 7.0 为例)目前却捕捉不到完全使用 SWT 库开发的应用程序的对象。如上节清单 1 所示的 SWT 应用,利用 RFT 的对象捕捉功能就无法捕获到任何 SWT 对象,图 3 是 RFT 的对象捕捉器,左键按住手形的对象选择器不放,将鼠标移到 SWT 应用程序上,如果有对象被红框包围,说明 RFT 可以捕捉到对象,但图 4 中任何对象都没有被红框包围,说明 RFT 没有认出此对象。
上例中 RFT 不能捕捉 SWT 应用程序对象的原因有:
- 本文中使用的 SWT 应用程序是完全使用 SWT API 开发的应用程序。
- RFT 对于测试这种 SWT 应用程序是有限制的,目前 RFT 7.0.1 版本及以前的低版本的 RFT 都没有提供相应的解决方法。