接触RFT的几年里,发现关于RFT的资料少之又少,所以我准备把这几年学习使用RFT的一些知识和经验进行总结,形成一个教程,一方面检验下自己的知识,如果对大家有些许帮助,深感宽慰
首先这里的RFT的全称是Rational Functional Tester,是IBM Rational支持的自动化测试工具。它的前身是Rational JRobot, Rational XDE Tester。
任何一款自动化测试工具都有一定适用范围,从市场占有率就可以看出来RFT绝对没有QTP(HP Quick Test Pro)那么宽广的适用范围。虽然IBM一直都在宣称支持大部分主流前台技术,实际上,RFT的适用范围并不像广告的那样漂亮。
根据我的经验,RFT的适用范围如下:
- Html类(包括Ajax),Java类(比如Swing,SWT)被测系统。针对这几类被测系统,RFT一直有着漂亮稳定的发挥。配合强大的IDE和API,用户几乎可以实现所有操作。我的同事曾经使用RFT测试PowerBuilder、VB和Flex的系统,就会时常碰到很难实现甚至无法实现的操作。所以在选择工具之初,一定要仔细考察工具和被测系统的适用情况。
- 具有Java背景,Eclipse使用经验的自动化测试团队。RFT的IDE是IBM基于Eclipse开发而成,其本质就是Eclipse的一个plugin。同时RFT的脚本语言是Java,所以对于Java背景的程序员来说,掌握RFT其实是件比较轻松的事情。业界普遍认同脚本语言(如VB)更适合作为自动化测试的脚本语言而不是像Java那样的面向对象的语言,同时高版本的RFT也支持使用VB编辑脚本,但是我认为就RFT工具本身来说,Java是有其自己的优势,那就是强大的Java社区,比如Apache家族,Spring。比如我们经常要进行的后台数据校验,我就比较倾向使用hibernate进行逻辑数据和物理数据的校验。
- 第3点是可选的,它就是IBM公司的业务影响力。很多公司都和IBM保持着良好业务往来,I