序言:有朋友留言希望能写对RFT写一些基础的实践操作的文章,想想,也是,可是提笔时,却发现写不下去,是因为其违背了我对工具的理解;刚用RFT时,曾很短的一些时间用过录制,后很快弃之,一直在应用它底层的API以及自行编写的组件来构建自动化测试,之后在想学学QTP的时候,看了看其关键字驱动与描述性语言等原理后,直接对其QTP的轻量级框架学习了一下,发现你若是对RFT的API和框架层次用了一段时间后,QTP的框架还是挺好掌握的。
所以,发现,自动化测试工具,看的浅,其对你而言,是“魔爪”的束缚;看的深,则是“思想“的剥离。
一、工具的使用想法
对于那些真的想在自动化测试上做出一番成就的人来说,不是简单的用用工具就行了的,其实很简单的想一想,要是自动化测试只是用用工具,利用工具去搭建一下框架之类的,那么现在自动化测试肯定就已经形成一股很大的规模了,毕竟,能够节约成本的事情谁都想做的。
做自动化不是一件简单的事情,在开始做的时候,想采用哪种工具的时候,就要想到尽量少的把自己的自动化测试开展工具都集成给工具,而是要自己构建一个基础的架构,把工具的自己需要的那一部分给当成插件的形式组合进来。
所以,在掌握工具的基本使用后,就得去研究其底层的东西,因为越上层会越不灵活,拓展越难。想用好一个工具,那就把它的基本精髓给剥离出来,然后构建到你的平台之中,举个例子,就像STAF与ROBOT Framework一样,他们称为自动化测试框架,提供的就是一个可以让你随意组建的平台,其余的各种服务(组件)都是可插可分的,是以需求为导向的。
二、工具的学习想法
学习一个工具,当然首先是要学习其基本使用的,但是其基本使用只是一个过渡,为剥离其核心思想的一个铺垫。
从RFT(Rational Function tester)来说吧。
学习第一步:使用入手,掌握思想
1、刚开始,你使用RFT,知道其可以进行界面的录制,然后回放,将其都操作了几遍。
2、之后,你又学习了其数据池的使用、静态点与动态点的验证、scriptAssure的使用等。
等到将这些都掌握之后,这个工具的使用层面你就OK了,但是学习第一步才开始:
录制此是对象的静态映射的思想;
回放是将抓取的消息重新实现的思想;
数据池在此是一种数据驱动的思想;
静态点与动态点验证是一种控件属性获取和比较的思想;
scriptAssure是一种属性匹配阈值计算及分割线比较的一种思想;
当你掌握这些思想,你会发现,QTP在其使用上的思想其实是通用的,无非在形式上的表达不一样而已,多了关键字驱动思想与描述性编程,不过这个也可以用IBM的开源框架SAFS来实现了。
所以,工具学习第一步,从使用去挖掘工具的设计思想,这样,才能做到举一反三。
学习第二步:研透API,剥离核心
等到上述核心思想进行学习后,开始要接触RFT的底层API了,其API才是其RFT的最核心的东西,RFT,说明白点,其操作界面就是一个IDE环境,你可以完全的脱离这个环境,去用API来构建其测试过程。我将从其常用的分层架构上来明确一下其API的使用。