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
发表评论
-
几款引擎比较:BigWorld,Unreal,CryEngine等
2012-01-20 09:50 762几款引擎比较:BigWorld,Unr ... -
『vivizhyy』SD2.0 (来源于孟岩讲座)
2012-01-20 09:50 444『vivizhyy』SD2.0 (来源于 ... -
移植libjingle v0.5x for IOS(iphone device + iphone simulator)
2012-01-20 09:49 663移植libjingle v0.5x for IOS(iphon ... -
RabbitVCS : TortoiseSVN 的替代者
2012-01-20 09:49 784RabbitVCS : TortoiseSVN 的替代者 2 ... -
规章制度
2012-01-19 14:55 588规章制度 2010年07月26日 考勤制度 1 ... -
幼儿园管理之“三贴近”
2012-01-19 14:55 608幼儿园管理之“三贴近 ... -
浅析幼儿园如何生存与发展
2012-01-19 14:55 614浅析幼儿园如何生存与发展 2010年06月29日 浅析幼 ... -
幼儿园生存与发展的报告
2012-01-19 14:55 601幼儿园生存与发展的报告 2010年06月29日 社会主 ... -
对民办幼儿园管理的几点思考
2012-01-19 14:55 557对民办幼儿园管理的几点思考 2011年07月13日 民办 ... -
OpenGL函数参考(中文版)转载
2012-01-17 04:38 1092OpenGL函数参考(中文版)转载 2011年01月17日 ... -
OpenGl函数解释(转载)
2012-01-17 04:38 369OpenGl函数解释(转载) 2011年03月11日 第 ... -
OpenGL开发库的详细介绍
2012-01-17 04:38 461OpenGL开发库的详细介绍 ... -
OpenGL总结
2012-01-17 04:38 736OpenGL总结 2010年11月24日 OpenGL学 ... -
opengl
2012-01-17 04:38 655opengl 2011年02月19日 OpenGL总结 ... -
简单学习FMS+PHP视频聊天室
2012-01-16 03:31 967简单学习FMS+PHP视频聊天室 2010年04月02日 ... -
外部FLV影片的控制
2012-01-16 03:31 383外部FLV影片的控制 2010年08月02日 有两种方式 ... -
FMS_api
2012-01-16 03:31 269FMS_api 2010年03月11日 //====== ... -
linux下的fms2流媒体服务器搭建六部曲之五:flv播放器制作篇
2012-01-16 03:31 913linux下的fms2流媒体服务器搭建六部曲之五:flv播放器 ... -
FlashCom(FMS)
2012-01-16 03:31 383FlashCom(FMS) 2009年11月26日 Fl ...
相关推荐
- **定义**: STAF,即**软件自动测试框架**(Software Testing Automation Framework),是一个用于自动化测试的框架,主要目的是简化测试用例的创建与管理,同时也方便了测试环境的搭建。 - **功能模块**: STAF通过一...
STAF/STAX是自动化测试领域中的两个重要工具,由IBM Software Group开发并维护。STAF(Software Testing Automation Framework)是一个开源的、基于插件的、点对点框架,主要面向测试自动化。自1998年在IBM奥斯汀...
STAF(Software Testing Automation Framework)是由IBM开发的一款开源、跨平台的自动化测试框架,它主要由一系列可重用的服务组件构成,这些组件可以处理诸如调用、资源管理、监控等功能。STAF为自动化测试提供了...
Software Test Automation Framework (STAF) 是由IBM开发的开源、跨平台、支持多语言并且基于可重用的组件来构建的自动化测试框架。它封装了不同平台和不同语言间通信的复杂性,提供了消息、互斥、同步、日志等可...
STAF(Software Test Automation Framework)和STAX是IBM开发的一套自动化测试框架,主要用于软件测试的自动化。STAF提供了一个平台来管理和协调测试活动,而STAX(STAF eXtensible Automation Language)则是一种...
"Fresh STAF" 是一个自动化测试框架,它不依赖于数据库来执行测试,这使得它在测试环境中具有较高的灵活性和可扩展性。STAF(Software Testing Automation Framework)是一种开源工具,设计用于支持软件测试的自动化...
ant编译staf插件
STAF(Software Test Automation Framework,软件测试自动化框架)是由IBM开发的一款开源测试工具,主要用于自动化软件测试过程。这个“staf.rar_STAF”压缩包包含了关于STAF的详细文档,帮助我们理解其工作原理和...
staf的技术手册,Ibm 出品 找了很久阿
STAF(Software Testing Automation Framework)是一款开源的自动化测试框架,主要用于软件测试的自动化。它提供了分布式测试环境的管理和控制功能,允许用户在多个系统之间执行测试脚本并收集结果。而Eclipse则是一...
自动化测试框架STAF的使用手册,东西很全
STAF(Software Testing Automation Framework)是一个开源的自动化测试框架,主要设计用于软件测试的分布式执行和结果收集。在这个场景中,我们关注的是STAF使用Ruby语言实现的分发框架部分。Ruby是一种动态、面向...
STAF 原理及使用介绍, 还有示例、说明等
在音频信号处理领域,短时自相关函数(Short-Time Auto-Correlation Function,STAF)和短时平均幅度函数(Short-Time Average Magnitude Difference Function,AMDF)是两种常用的技术,用于分析音频信号的局部特性...
本文主要探讨的“行业分类-设备装置-基于STAF的高端容错机故障注入自动化测试平台及方法”是针对高端容错计算机系统进行测试的一种高效解决方案。 首先,我们来理解“高端容错机”。高端容错机(High-End Fault-...
### STAF线性导轨总目录相关知识点 #### 一、公司概况与愿景 - **精浚科技**:专注于线性传动元件的研发与制造,旨在通过高质量的产品和服务改善人类生活。 - **愿景**:“以线性传动元件研发与制造为本,精致人类...
IBM STAF(Software Test Automation Framework)是IBM推出的一款开源测试自动化框架,主要用于自动化软件测试。STAF提供了一种跨平台的、分布式的测试环境,它包含了一系列服务,这些服务可以帮助测试人员执行各种...
STAX Ext存储库这是我针对软件测试自动化框架(STAF)的STAF服务存储库[ ]。 软件测试自动化框架(STAF)是一个开放源代码,多平台,多语言的框架,围绕可重用组件(即服务(例如流程调用,资源管理,日志记录和...