自动化测试框架STAF的使用
因为工作关系,两年前本人曾调研过STAF软件,当时想为VcTester工具构造一个具有对等通信关系的IPC组件,尽管最终还是弃用STAF,改用自行 开发 的SRPC组件,不过仍觉得STAF是不错的自动化控制框架,尤其是跨机控制,用起来比较方便,而且它是 开源 的。 关于S
因为工作关系,两年前本人曾调研过STAF软件,当时想为VcTester工具构造一个具有对等通信关系的IPC组件,尽管最终还是弃用STAF,改用自行开发的SRPC组件,不过仍觉得STAF是不错的自动化控制框架,尤其是跨机控制,用起来比较方便,而且它是开源的。
关于STAF
STAF(The Software Testing Automation Framework)是发端于IBM的自动化测试框架,如果我没记错的话,2000年的时候STAF就有版本了,不过那时的STAF比较简单,做不了多少事情。过去这么多年,STAF现已发展成一个庞大体系了。
STAF主页(http://staf.sourceforge.net/)对该软件介绍如下:
STAF是开源、跨平台、支持多语言的自动化测试框架,它围绕于组件重用的理念,通过服务调用(比如处理调用、资源管理、登陆、监视等)帮助大家省去繁琐的自动化架构建设工作,大家只需集中精力在自身自动化实施上。STAF为自动化测试建立了基础,在高层解决方案提供一种可插拨的机制,支持多种平台与多种语言。
使用STAF可快速构造自动化测试环境,STAF的服务调用系统也让大家创建自动用例与管理自动用例更加方便。STAF在功能级别实施服务调用,各个服务端点(称作STAF客户端)是对等的,从一个端点可直接调用另一端点(在另一台机器运行的程序)提供的服务。
换另一个角度看,STAF是一种分布式远程调用体系,它具有如下特色:
Ø 将环境需求最小化(包括硬件与软件)
Ø 在各种语言中都很容易使用,包括Java,C/C++,Rexx,Perl,TCL,及命令行shell环境
Ø 易于扩展,让用户能方便的创建一个服务插入到STAF体系中
STAF比较适应需要构造复杂测试环境的场合,复杂测试环境通常是分布式的,通过STAF将测试任务分发到不同的测试环境去执行,可以方便的测试机的测试脚本,可以方便的收集测试结果,另外,执行引擎STAX(Software Test Automation eXecution Engine)让STAF的使用变得更简单,测试人员只需要配置XML文件便实现STAF任务管理。
几个概念
服务(Services):
STAF是基于服务(Services)来构建自动化框架的,服务就是STAF的可重用组件,服务还是一系列功能的集合。
如何理解STAF与服务的关系?STAF是一个小巧的后台程序,在STAF中使用的所有组件都是服务,STAF提供轻量级分发机制,负责将请求转发给这些服务。
STAF中服务分两种:Internal (内部服务)和 External(外部服务)。内部服务被集成进 STAFProc,提供一些关键性的功能,比如数据管理与同步,外部服务则由 STAFProc 动态装入,通过共享库(shared libraries)来访问。