自动化测试框架,即是应用于
自动化测试所用的框架。按照框架的定义,自动化测试框架要么是提供可重用的基础自动化测试模块,如:selenium、watir等,它们主要提供最基础的自动化测试功能,比如打开一个程序,模拟鼠标和键盘来点击或操作被测试对象,最后验证被测对象的属性以判断程序的正确性;要么是可以提供自动化测试执行和管理功能的架构模块,如:Phoenix Framework,robot,STAF等,它们本身不提供基础的自动化测试支持,只是用于组织、管理和执行那些独立的自动化测试用例,测试完成后统计测试结果,通常这类框架一般都会集成一个基础自动化测试模块,如:robot框架就可以集成selenium框架,Phoenix Framework集成的也是selenium框架。
涵义
什么是自动化测试框架
在了解什么是自动化测试框架之前,先了解一下什么叫框架?框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面,而后者是从目的方面给出的定义。 从框架的定义可以了解,框架可以是被重用的基础平台;框架也可以是组织架构类的东西。其实后者更为贴切,因为框和架本来就是组织和归类所用的。
所以自动化测试框架的定义为:由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。
按框架的定义来分,自动化测试框架可以分为:基础功能测试框架、管理执行框架;按不同的测试类型来分,可以分为:功能自动化测试框架、性能自动化测试框架;按测试阶段来分,可以分为:单元自动化测试框架、接口自动化测试框架、系统自动化测试框架;按组成结构来分,可以分为:单一自动化测试框架、综合自动化测试框架;按部署方式来分,可以分为:单机自动化测试框架、分布式自动化测试框架。
引申
了解了自动化测试框架的概念和分类,那么何时会需要用到自动化测试框架呢?我们又如何去选择不同的自动化测试框架?
自动测试框架真正的作用又是什么?
在日常工作中我们往往会遇到很多需要解决的难题,而每当难题出现后总会出现与其对应的解决方案;自动化测试框架也是如此,它是在我们进行自动化测试时遇到了难题后出现的一种解决方案,所以当你在自动化测试工作中遇到难题,并且无法利用现有资源进行简单组合而解决时,那么自动化测试框架可能就是你最需要引入的时候。比如自动化测试脚本难以人工去维护时;又如自动化测试效率不能通过并行的方式进行提高时。
Selenium官网
Phoenix Framework介绍
开源测试框架
Tellurium
Tellurium是一种自动化的web测试框架。虽然它是在selenium的阶段上建立起来的,但两者之间有许多概念上的差异。
wtd
wtd可以支持selenium,http(post,get),jsonrpc 自动化测试用例,并且可以支持测试环境修改,测试报告生成。wtd介绍
QTP
QTP是quicktest Professional的简称,是一种
自动测试工具。使用QTP的目的是想用它来执行重复的自动化测试,主要是用于
回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试哪些功能、操作步骤、输入数据和期望的输出数据等
PhoenixAutotest
基于Selenium的自动化测试框架Phoenix,采用Java语言编写的。已经覆盖了WebUI自动化测试过程中需要的大部分功能封装。