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 754几款引擎比较:BigWorld,Unr ... -
『vivizhyy』SD2.0 (来源于孟岩讲座)
2012-01-20 09:50 430『vivizhyy』SD2.0 (来源于 ... -
移植libjingle v0.5x for IOS(iphone device + iphone simulator)
2012-01-20 09:49 656移植libjingle v0.5x for IOS(iphon ... -
RabbitVCS : TortoiseSVN 的替代者
2012-01-20 09:49 767RabbitVCS : TortoiseSVN 的替代者 2 ... -
规章制度
2012-01-19 14:55 572规章制度 2010年07月26日 考勤制度 1 ... -
幼儿园管理之“三贴近”
2012-01-19 14:55 597幼儿园管理之“三贴近 ... -
浅析幼儿园如何生存与发展
2012-01-19 14:55 607浅析幼儿园如何生存与发展 2010年06月29日 浅析幼 ... -
幼儿园生存与发展的报告
2012-01-19 14:55 589幼儿园生存与发展的报告 2010年06月29日 社会主 ... -
对民办幼儿园管理的几点思考
2012-01-19 14:55 548对民办幼儿园管理的几点思考 2011年07月13日 民办 ... -
OpenGL函数参考(中文版)转载
2012-01-17 04:38 1061OpenGL函数参考(中文版)转载 2011年01月17日 ... -
OpenGl函数解释(转载)
2012-01-17 04:38 361OpenGl函数解释(转载) 2011年03月11日 第 ... -
OpenGL开发库的详细介绍
2012-01-17 04:38 449OpenGL开发库的详细介绍 ... -
OpenGL总结
2012-01-17 04:38 730OpenGL总结 2010年11月24日 OpenGL学 ... -
opengl
2012-01-17 04:38 642opengl 2011年02月19日 OpenGL总结 ... -
简单学习FMS+PHP视频聊天室
2012-01-16 03:31 955简单学习FMS+PHP视频聊天室 2010年04月02日 ... -
外部FLV影片的控制
2012-01-16 03:31 376外部FLV影片的控制 2010年08月02日 有两种方式 ... -
FMS_api
2012-01-16 03:31 263FMS_api 2010年03月11日 //====== ... -
linux下的fms2流媒体服务器搭建六部曲之五:flv播放器制作篇
2012-01-16 03:31 892linux下的fms2流媒体服务器搭建六部曲之五:flv播放器 ... -
FlashCom(FMS)
2012-01-16 03:31 364FlashCom(FMS) 2009年11月26日 Fl ...
相关推荐
Software Test Automation Framework (STAF) 是由IBM开发的开源、跨平台、支持多语言并且基于可重用的组件来构建的自动化测试框架。它封装了不同平台和不同语言间通信的复杂性,提供了消息、互斥、同步、日志等可...
staf注册成windowns服务,以及staf安装等的详细介绍
自动化测试工具STAF的详细介绍,有例子。
Automation with STAF/STAX 3 STAF (Software Testing Automation Framework)
Software Test Automation Framework (STAF) 是开源、跨平台、支持多语言并且基于可重 用的组件来构建的自动化测试框架。它为自动化测试建立了基础,并且提供了一种可插拨的 机制支持不同的平台和语言。STAF 采用点...
staf+stax自动化测试框架配置手册
ant编译staf插件
STAF(Software Testing Automation Framework)是一个由IBM开发的开源、跨平台、支持多语言且基于可重用的组件来构建的自动化测试框架,而这一系列的组件都是一些可以处理调用、资源管理、监视等一些列的服务组成。...
staf的技术手册,Ibm 出品 找了很久阿
自动化测试框架STAF的使用手册,东西很全
STAF 原理及使用介绍, 还有示例、说明等
java ibm staf 的文档,包括他是实现
staf用ruby写的分发框架staf用ruby写的分发框架staf用ruby写的分发框架staf用ruby写的分发框架
STAX Ext存储库这是我针对软件测试自动化框架(STAF)的STAF服务存储库[ ]。 软件测试自动化框架(STAF)是一个开放源代码,多平台,多语言的框架,围绕可重用组件(即服务(例如流程调用,资源管理,日志记录和...
STAF 线性导轨总目录
Auto testing framework without database
想利用STAF做个远程调度平台,结合Eclipse开发,所以就整了这么写jar包
IBM internal training material for staf/stax
本文简要地介绍STAF/STAX测试自动化框架,并且展示如何使用它来构建一个框架,在复杂试验台中实现测试自动化和持续集成。回归测试往往用于确保软件变更不会在软件中引入新的问题或故障。另外,还可以用它来确保您...
本文内容包括:前言功能特性体系结构拓扑结构设计实现配置使用总结参考文献本文介绍了一种基于LAMP+STAF/STAX的自动化测试框架,以及该框架在WVS(WebSphereVoiceServer)产品测试中的应用。该框架具有界面友好,操作...