软件自动化测试框架STAF

软件自动化测试框架STAF

一、什么是STAF
STAF(Software Testing Automation Framework)是一个由IBM开发的开源、跨平台、支持多语言且基于可重用的组件来构建的自动化测试框架,而这一系列的组件都是一些可以处理调用、资源管理、监视等一些列的服务组成,后面将会介绍这些概念。STAF框架为自动化测试建立了基础,在高层解决方案提供一种可插拨的机制,支持多种平台与多种语言。

二、我们真的需要这个框架么
当然,我不是一个推销员,也更不肯能是。但是,我想说的是,单从软件产品测试的角度来看,产品的平台兼容性是一个不可忽视的问题。对于Windows平台上,软件产品需要能够完美的兼容早期的Win98、WinNT系统,还得兼容表现优秀的WinXP、Windows Server系统,更要支持用户群扩大的Win7。 如果产品做的好,甚至还需要兼容Linux、Mac OS。注意了,其实对于每种系统还可以继续分为32位系统与64位系统,而每次产品在Release之前都需要在在上述各个平台上测试N遍。如果纯手工的测试,那么在投入的人力、设备、以及时间成本上是很惊人的,那么一种自动化测试需求便应运而生了,而STAF便是满足这种需求的一种框架。

三、怎么运用STAF来解决我们的需求
那么,你可能会疑问,STAF框架怎么解决上述这个问题的呢种合理的解决方案是,一般公司都会有一些性能配置优越的服务器(暂且称为Lab机器),而我们工作人员一般的机器性能都仅仅满足我们的日常工作(暂且称为Office机器),做一些日常的开发和文档处理绰绰有余,但是同时开多台虚拟机跑测试的话,估计机器也就卡的半死不活了,到时候我们只能大眼瞪小眼了,而逐个平台的测试的话,时间却又是我们所不能接受的。所以我们可以将跑测试的工作交由处理能力很强的Lab机器,而我们测试人员的Office机器需要做的则是告诉Lab机器需要做什么,然后Lab机器在执行完测试任务后会将测试结果返回到Office机器上。
在上述的描述中,Office机器与Lab机器都必须装有STAF,需要指出的是,各个装有STAF环境的机器之间的关系是对等的(Peer to Peer),也就是没有服务器与客户端区别。Office机器端上的STAF可以通过与Lab机器上的STAF进行通信,从而调用Lab机器上STAF提供的各种服务(例如可以要求Lab机器启动NotePad这个进程或者调用某个测试脚本程序)。为了方便大家理解,可以参考下图进行理解:

测试IP地址为192.168.0.2的机器的STAF服务是否存活,存活的话显示如下图
STAF 192.168.0.2 PING PING

这里写图片描述

查看目标机器文件夹是否存在
staf qa2-pri.server.163.org fs query entry /home/qatest/PerformanceTest
复制脚本到目标机器
staf local fs copy file /home/qatest/testscript.py todirectory /home/qatest/ tomachine qa2-pri.server.163.org
目标机器执行对应shell命令操作
staf qa2-pri.server.163.org process start shell command mkdir testdir1 workdir /home/qatest
更详细的命令使用可以参考
http://staf.sourceforge.net/current/STAFUG.htm#HDROVERVIEW

各种编程语言调用STAF格式(Python为例)
1)向STAF注册一个handle,以后所有请求都使用这个handle
handle = STAFHandle(“My Application”)
2)利用这个handle发送请求,并且处理返回结果
result = handle.sumit(“192.168.0.2”,”ping”,”ping”)
3)所有请求结果处理完,最后要注销handle
handle.unregister()
staf提交请求时必须注册一个句柄,请求完成后要注销掉这个句柄
STAF支持以下语言:C C++ Rexx JAVA Perl Python Tcl,程序中可以规定请求使用同一个句柄

STAF安全级别
每种请求都有安全级别的限制,只有你达到这种安全级别才能发送这种请求。
分为六级,级别0-5,0最低,5最高
内部测试环境,方便起见,信任级别可以都设置成5
设置某机器信任级别的方法:
修改staf/bin目录下文件staf.cfg:trust machine 192.168.0.2 level 5

STAF在linux下安装配置
Linux下的STAF有两种安装模式,一种是直接下载bin包进行安装,另一种则是下载tar包进行安装。
(1)修改安装配置文件installer.properties,其中几项需要修改:
USER_INSTALL_DIR=/home/qatest/staf 安装路径
USE_PERL_VERSION=5.10 目标机器的perl版本
USE_PYTHON_VERSION=2.6 目标机器的python版本
STAF_INSTANCE_NAME=STAF-APP67 目标机器名
(2)执行安装 ./STAF3410-setup-linux-amd64.bin -f installer.properties
(3)修改STAF安装目录staf/bin目录下的STAF.cfg文件,配置机器间的信任关系

Set default local trust

trust machine local://local level 5
trust machine 10.2.5.101 level 5
(4)配置环境变量
PATH=/home/qatest/staf/bin:PATH:−LDLIBRARYPATH=/home/qatest/staf/lib:” role=”presentation” style=”position: relative;”>PATH:/mo>LDLIBRARYPATH=/home/qatest/staf/lib:{LD_LIBRARY_PATH:-}
CLASSPATH=/home/qatest/staf/lib/JSTAF.jar:/home/qatest/staf/samples/demo/STAFDemo.jar:${CLASSPATH:-}
STAFCONVDIR=/home/qatest/staf/codepage
(5)启动STAFProc
./staf/bin/ STAFProc &
(6)确定STAF已经安装正确
staf local service list

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年10月18日
下一篇 2017年10月18日

相关推荐