而且STAF+STAX自动化测试框架的通用性更强大,适合各类应用系统,不仅适合B/S结构,而且还适合C/S结构的应用。STAF+STAX是一种分布式远程调用体系,支持跨平台和多语言的自动化测试框架。作为完整系统框架,可以看作是3部分组成,即SAFS、STAF和STAX。
(1) SAFS(Software Automation Framework Support,http://safsdev.sourceforge.net/Default.htm )是基于数据驱动和关键字驱动的思想设计的开源自动化测试框架, 支持跨平台、多语言的应用。
(2) STAF(Software Test Automation Framework,http://staf.sourceforge.net/index.php )围绕组件重用的理念,通过服务调用(如远程处理、资源管理、监控等)来完成自动化架构的构造。STAF作为自动化测试框架,提供一种可插拨的机制,支持多平台与多语言的分布式结构。
(3) STAX(STAf eXecution engine,http://staf.sourceforge.net/getstax.php )是基于STAF的执行引擎,它采用XML格式描述。在XML文件中可定义测试工作流,可以实现并行执行、嵌套测试用例、控制运行时间等,STAX支持Java和 Python 模块
除此之外,还提供了许多增强服务,以满足自动化测试的需要,这些服务主要有:
³ 时间驱动服务(Cron Service):按特定时间间隔运行STAF命令。
³ 事件驱动服务(Event Service):由发生的事件来驱动进程通信,从而执行相关的STAF命令。
³ 名字空间服务(Namespace Service):为了变量永久仓库的存储和搜寻而设定名字空间层次。
³ 计数器服务(NamedCounter Service):针对特定的名字来动态地管理其计数器。
³ 计时服务(Timer Service):一台机器周期性地收到另一台机器发来的消息。
³ 邮件服务:将邮件消息发送给一批接收者。
³ 扩展的文件系统请求处理工具(FSExt Service)
根据SAFS、STAF和STAX所具有的服务和功能,我们有信心它可以帮助我们建立一个良好的、企业级的自动化测试环境。下面,我就用一个图来展示它所带给我们的自动化测试环境。虽然没有在图中显示负载、性能测试工具,但实际上它可以支持各种测试工具,包括自己开发的测试工具。