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

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注册服务文档

    - **定义**: STAF,即**软件自动测试框架**(Software Testing Automation Framework),是一个用于自动化测试的框架,主要目的是简化测试用例的创建与管理,同时也方便了测试环境的搭建。 - **功能模块**: STAF通过一...

    Automation with STAF/STAX 3

    STAF/STAX是自动化测试领域中的两个重要工具,由IBM Software Group开发并维护。STAF(Software Testing Automation Framework)是一个开源的、基于插件的、点对点框架,主要面向测试自动化。自1998年在IBM奥斯汀...

    STAF工具使用用例说明

    STAF(Software Testing Automation Framework)是由IBM开发的一款开源、跨平台的自动化测试框架,它主要由一系列可重用的服务组件构成,这些组件可以处理诸如调用、资源管理、监控等功能。STAF为自动化测试提供了...

    自动化测试软件STAF

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

    staf+stax hands on

    STAF(Software Test Automation Framework)和STAX是IBM开发的一套自动化测试框架,主要用于软件测试的自动化。STAF提供了一个平台来管理和协调测试活动,而STAX(STAF eXtensible Automation Language)则是一种...

    Fresh STAF

    "Fresh STAF" 是一个自动化测试框架,它不依赖于数据库来执行测试,这使得它在测试环境中具有较高的灵活性和可扩展性。STAF(Software Testing Automation Framework)是一种开源工具,设计用于支持软件测试的自动化...

    ant编译staf插件

    ant编译staf插件

    staf.rar_STAF

    STAF(Software Test Automation Framework,软件测试自动化框架)是由IBM开发的一款开源测试工具,主要用于自动化软件测试过程。这个“staf.rar_STAF”压缩包包含了关于STAF的详细文档,帮助我们理解其工作原理和...

    staf技术手册

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

    STAF+Eclipse所需的jar包

    STAF(Software Testing Automation Framework)是一款开源的自动化测试框架,主要用于软件测试的自动化。它提供了分布式测试环境的管理和控制功能,允许用户在多个系统之间执行测试脚本并收集结果。而Eclipse则是一...

    STAF User Guide

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

    staf用ruby写的分发框架

    STAF(Software Testing Automation Framework)是一个开源的自动化测试框架,主要设计用于软件测试的分布式执行和结果收集。在这个场景中,我们关注的是STAF使用Ruby语言实现的分发框架部分。Ruby是一种动态、面向...

    STAF 使用介绍

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

    短时自相关函数与短时幅度函数计算的Matlab实现_matlab_STAF_AMDF_

    在音频信号处理领域,短时自相关函数(Short-Time Auto-Correlation Function,STAF)和短时平均幅度函数(Short-Time Average Magnitude Difference Function,AMDF)是两种常用的技术,用于分析音频信号的局部特性...

    行业分类-设备装置-基于STAF的高端容错机故障注入自动化测试平台及方法.zip

    本文主要探讨的“行业分类-设备装置-基于STAF的高端容错机故障注入自动化测试平台及方法”是针对高端容错计算机系统进行测试的一种高效解决方案。 首先,我们来理解“高端容错机”。高端容错机(High-End Fault-...

    STAF 线性导轨总目录

    ### STAF线性导轨总目录相关知识点 #### 一、公司概况与愿景 - **精浚科技**:专注于线性传动元件的研发与制造,旨在通过高质量的产品和服务改善人类生活。 - **愿景**:“以线性传动元件研发与制造为本,精致人类...

    IBM STAF help

    IBM STAF(Software Test Automation Framework)是IBM推出的一款开源测试自动化框架,主要用于自动化软件测试。STAF提供了一种跨平台的、分布式的测试环境,它包含了一系列服务,这些服务可以帮助测试人员执行各种...

    staf-services:我的STAF服务

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

Global site tag (gtag.js) - Google Analytics