`
xun06xun
  • 浏览: 12335 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

staf

 
阅读更多

staf
2010年06月02日
  参与的项目正好用了staf,用到以下几个功能
  1. 服务器和客户端之间传文件,  及增删文件、目录 
  STAF serverip FS COPY Directory clientd TODIRECTORY serverd TOMACHINE clientip RECURSE KEEPEMPTYDIRECTORIES
  STAF serverip FS COPY File clientd TODIRECTORY serverd TOMACHINE clientip 
  staf serverip fs delete entry c:/tem.zip confirm
  2. 监控功能
  staf serverip Monitor LOG MESSAGE "message" "currentrun" 
  3. 运行 dos命令
  STAF local PROCESS START SHELL COMMAND "java -version"
  4 .定时功能 
  staf 12.11.10.1 cron register machine local service process request "start shell command \"wscript.exe \\\"D:\\Program Files\\temp\\cron.vbs\\\"\"" description " runname&" minute 54 hour 16 day 13 month 3 once
  原文来自:雨枫技术教程网 http://www.fengfly.com
  原文网址:http://fengfly.com/plus/view-145864-1.html
  http://blog.csdn.net/iamqa/archive/2009/07/29/4391 772.aspx
  STAF全称是Software Testing Automation Framework,如其官网(http://staf.sourceforge.net/)所说,STAF是一个开源、跨平台、支持多语言的自动化测试框架,它围绕于组件重用的理念,通过服务调用(比如Process Service、Resource Manage Service、Logging Service、Monitoring Service等)帮助我们省去繁琐的跨平台的自动化框架的建设工作,而我们只需集中精力在自身自动化实施上。
  简而言之,STAF就是一个在不同机器、不同的操作系统之间提供一个沟通通讯的平台。STAF利用其开源的优势,经历了最近几年的发展,已经越来越成熟,其具有以下特点:
  1.       简单易用,可快速搭建一个跨平台自动化测试环境。
  2.       开源,易于扩展,用户可以方便的在STAF中创建一个新的服务。
  3.       环境要求低。支持多种平台多种操作系统。
  4.       支持多种语言,可以在Java,Linux Shell , C/C++,Python,Perl等各种语言中调用。
  下面,就详细介绍下STAF一些概念:
  一、原理
  假设我们有2台机器 A和B,A是主控机,如下图所示:
  由上图可以看出,机器A和B都安装了STAF,并且相互配置了信任关系。那么用户就可以通过在机器A上调用STAF的Service 来实现与机器B的相互通讯。如传输文件、操作机器B等等。所以,STAF的作用实际上就是提供机器之间的通信通道并提供基于这个通道的基础服务。
  二、多层封装概念
  通过上面的介绍,我们了解了STAF是一个可重用并对各种应用提供广泛支持的基础框架。于是,就有了根据不同应用产生的不同封装。比如我们构造了一个复杂的分布式测试环境,我们可以单独通过STAF将我们的测试任务分发到不同的测试环境去执行,但如果测试任务太多,并且是不断添加新的任务的进来,单独依靠STAF就不利于测试任务的执行、管理与维护了。从而也就引入STAX的概念。如下图所示:
  由上图可以看出,机器A安装了STAF/STAX,那么用户可以把一批STAF Service调用通过XML格式写在一个文档里,然后由STAX调用这个文档并翻译成STAF Service通过STAF传递给机器B执行。
  另外,在实际测试中,有些工作光靠STAF是完不成的。我们往往需要利用一些工具来完成自动化测试。如Robot。这就需要提供一个自动化测试工具与STAF框架之间的接口。SAFS(Software Automation Framework Support)就是干这个的。在SAFS里,引入了关键字驱动(keyword-driven)和数据驱动(Data-Driven)的概念。通俗点说,SAFS就是为了给第三方软件提供支持,将一些常用动作(Action)进行封装。并提供对大量数据操作的接口。如下图:
  目前基于SAFS的成熟应用接口是RRAFS(Rational Robot Automation Framework Support)。现在已经支持下列第三方软件:
  IBM Rational Robot 
  IBM Rational Functional Tester 
  SAFS Image-Based Testing 
  Mercury Interactive WinRunner
  三、服务(Services)
  1. 服务(Services)概念:STAF是基于服务(Services)来构建自动化框架的,服务就是STAF的可重用组件,服务还是一系列功能的集合。 STAF是一个后台程序,在STAF中使用的所有组件都是服务,STAF提供轻量级分发机制,负责将请求转发给这些服务。
  STAF中服务分两种:Internal (内部服务)和 External(外部服务)。内部服务被集成进 STAFProc,提供一些关键性的功能,比如数据管理与同步,外部服务则由 STAFProc 动态装入,通过共享库(shared libraries)来访问。
  2. STAF 常见服务列表:
  2.1 Delay Service: 内部服务,在调用的程序传递返回值前等待一个指定的时间
  2.2 Diagnostics (DIAG) Service :内部服务,用于记录或者列出诊断数据
  2.3 Echo Service :内部服务,提供类似于Ping服务的功能,不同的是Echo允许返回指定的字符
  2.4 File System (FS) Service :内部服务,可以对文件进行复制、删除、查看等操作
  2.5 Log Service :外部服务,用于日志的记录和查看
  2.6 Monitor Service :外部服务,提供运行监控功能
  2.7 Ping Service :内部服务,用来检测远程STAF是否在运行
  2.8 Process Service :内部服务,用来调用外部程序,如调用windows 命令 CMD/NOTEPAD等。
  2.9 Resource Pool (ResPool) Service :外部服务,提供查看、创建、删除等针对资源池的管理或操作
  2.10 Semaphore (SEM) Service :内部服务,提供mutex和event信号操作
  2.11 Zip Service :外部服务,提供压缩与解压操作
  注:详细信息请参阅 http://staf.sourceforge.net/current/STAFUG.htm
  附: STAF基础用法及简单配置
  1.       基础用法
  STAF [-verbose]      
  -verbose 指定输出采用verbose模式,verbose是一种数据结构
   操作对象IP。指定目标STAF系统,由STAFProc解析以便确定是在本地处理还是发送到远端STAF系统。本机的话可直接写local。
   指定要调用的服务
   调用服务的所需的参数
  STAF的返回值:当服务处理结束将返回两类数据,一是表示服务处理结果的返回码既服务是成功还是失败,二是该服务返回的特定数据。
  2.       STAF的简单安装配置
  我们假设有2台机器,机器A是windows机器,IP是10.2.5.100,机器B是Linux机器,IP是10.2.5.101
  1.       安装包下载
  从http://staf.sourceforge.net/getcurrent.php 下载所需安装包,有Windows、Linux、Solaris、Mac等不同平台不同的版本的安装包。如果机器上未安装JDK,可以下载含JDK的安装包。
  2.       Windows 下的安装
  2.1 在windows平台上,双击STAF的安装包,按照提示进行安装即可.
  2.2 修改STAF安装目录\STAF\bin中的STAF.cfg文件,配置机器间的信任关系。把Linux机器的IP配置进config文件。如下:
  view plaincopy to clipboardprint?
  # Set default local trust   
  trust machine local://local level 5   
  trust machine 10.2.5.101 level 5  
  # Set default local trust
  trust machine local://local level 5
  trust machine 10.2.5.101 level 5 
  2.3 重新启动STAFProc
  2.4 在CMD下键入下列命令来确认STAF已经安装正确:
  staf local service list
  3.       Linux 下的安装
  注意,有的Linux版本需要先安装C库,否则STAF起不来。参考下载地址:
  http://rpm.pbone.net/index.php3/stat/4/idpl/279000 9/com/libstdc++-3.4.5-2.i386.rpm.html
  Linux下的STAF有两种安装模式,一种是直接下载bin包进行安装,另一种则是下载tar包进行安装,以tar包安装为例:
  3.1. 解压安装包:
  tar xzvf STAF331-linux.tar.gz
  3.2 解压后会出现一个STAF文件夹,进入该文件夹
  ./STAFInst
  进行安装,默认会被安装到/usr/local/staf下
  3.3   配置环境变量,将下列代码加入到要运行STAF的用户名目录下.bash_profile文件里:
  PATH=/usr/local/staf/bin:$PATH   
  export PATH   
  LD_LIBRARY_PATH=/usr/local/staf/lib   
  export LD_LIBRARY_PATH   
  CLASSPATH=/usr/local/staf/lib/JSTAF.jar:/usr/local /staf/samples/demo/STAFDemo.jar   
  export CLASSPATH   
  STAFCONVDIR=/usr/local/staf/codepage   
  export STAFCONVDIR   
  STAFCODEPAGE=LATIN_1   
  export STAFCODEPAGE   
  nohup /usr/local/staf/bin/STAFProc > /usr/local/staf/stafproc.out  
  PATH=/usr/local/staf/bin:$PATH
  export PATH
  LD_LIBRARY_PATH=/usr/local/staf/lib
  export LD_LIBRARY_PATH
  CLASSPATH=/usr/local/staf/lib/JSTAF.jar:/usr/local /staf/samples/demo/STAFDemo.jar
  export CLASSPATH
  STAFCONVDIR=/usr/local/staf/codepage
  export STAFCONVDIR
  STAFCODEPAGE=LATIN_1
  export STAFCODEPAGE
  nohup /usr/local/staf/bin/STAFProc > /usr/local/staf/stafproc.out
  3.4 修改STAF安装目录/usr/local/staf/bin目录下的STAF.cfg文件,配置机器间的信任关系。把Windows机器的IP配置进config文件。如下:
  # Set default local trust   
  trust machine local://local level 5   
  trust machine 10.2.5.100 level 5  
  # Set default local trust
  trust machine local://local level 5
  trust machine 10.2.5.100 level 5 
  3.5   启动STAFProc
  /usr/local/staf/bin/ STAFProc &
  3.6 确认STAF已经安装正确:
  staf local service list
  4.       测试机器A、B的STAF是否配置成功
  在机器B上输入如下命令,执行后机器B则会启动记事本:
  STAF 10.2.5.100 PROCESS START COMMAND notepad
  本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/iamqa/archive/2009/07/29/4391 772.aspx
分享到:
评论

相关推荐

    自动化测试软件STAF

    Software Test Automation Framework (STAF) 是由IBM开发的开源、跨平台、支持多语言并且基于可重用的组件来构建的自动化测试框架。它封装了不同平台和不同语言间通信的复杂性,提供了消息、互斥、同步、日志等可...

    staf注册服务文档

    staf注册成windowns服务,以及staf安装等的详细介绍

    自动化测试工具STAF

    自动化测试工具STAF的详细介绍,有例子。

    Automation with STAF/STAX 3

    Automation with STAF/STAX 3 STAF (Software Testing Automation Framework)

    STAF基础文档

    Software Test Automation Framework (STAF) 是开源、跨平台、支持多语言并且基于可重 用的组件来构建的自动化测试框架。它为自动化测试建立了基础,并且提供了一种可插拨的 机制支持不同的平台和语言。STAF 采用点...

    staf+stax hands on

    staf+stax自动化测试框架配置手册

    ant编译staf插件

    ant编译staf插件

    STAF工具使用用例说明

    STAF(Software Testing Automation Framework)是一个由IBM开发的开源、跨平台、支持多语言且基于可重用的组件来构建的自动化测试框架,而这一系列的组件都是一些可以处理调用、资源管理、监视等一些列的服务组成。...

    staf技术手册

    staf的技术手册,Ibm 出品 找了很久阿

    STAF User Guide

    自动化测试框架STAF的使用手册,东西很全

    STAF 使用介绍

    STAF 原理及使用介绍, 还有示例、说明等

    staf.rar_STAF

    java ibm staf 的文档,包括他是实现

    staf用ruby写的分发框架

    staf用ruby写的分发框架staf用ruby写的分发框架staf用ruby写的分发框架staf用ruby写的分发框架

    staf-services:我的STAF服务

    STAX Ext存储库这是我针对软件测试自动化框架(STAF)的STAF服务存储库[ ]。 软件测试自动化框架(STAF)是一个开放源代码,多平台,多语言的框架,围绕可重用​​组件(即服务(例如流程调用,资源管理,日志记录和...

    Fresh STAF

    Auto testing framework without database

    STAF+Eclipse所需的jar包

    想利用STAF做个远程调度平台,结合Eclipse开发,所以就整了这么写jar包

    STAF-STAX-HandsOn-Part1

    IBM internal training material for staf/stax

    使用STAF/STAX实现测试自动化和持续集成

    本文简要地介绍STAF/STAX测试自动化框架,并且展示如何使用它来构建一个框架,在复杂试验台中实现测试自动化和持续集成。回归测试往往用于确保软件变更不会在软件中引入新的问题或故障。另外,还可以用它来确保您...

    用STAF/STAX+LAMP实现多任务的自动化测试框架

    本文内容包括:前言功能特性体系结构拓扑结构设计实现配置使用总结参考文献本文介绍了一种基于LAMP+STAF/STAX的自动化测试框架,以及该框架在WVS(WebSphereVoiceServer)产品测试中的应用。该框架具有界面友好,操作...

    用STAF+Selenium实现并行的自动化测试框架

    本文的意图是通过一个新的视角颠覆传统理念上的串行自动化测试方式,向读者详细介绍了利用STAF以及Selenium实现的并行式的自动化测试框架,以及为整个项目所带来的优势。  Agile中的自动化测试  Agile是一种以人为...

Global site tag (gtag.js) - Google Analytics