利用 STAF 实现程序更新包的自动部署测试
作者:网络转载 发布时间:[ 2014/1/2 11:17:50 ] 推荐标签:测试 软件测试 自动化
调用ftp命令的STAX脚本如下所示:
代码5:调用FTP命令的STAX脚本
<process>
<location>'local'</location>
<command>'ftp'</command>
<parms>'-s:ftpSample.conf'</parms>
<workdir>'C:/STAF'</workdir>
</process>
process标签表示调用STAF的进程服务(process),location表示请求被发送的目标机器,command表示需要执行的进程,而parms表示传递给进程的参数,workdir表示进程运行的工作目录。
通过FTP脚本和STAX脚本,我们可以控制STAX来自动下载FTP上的源代码。
3.2 CVS下载
和FTP类似,CVS源码下载也使用命令行的方式,但由于CVS服务器使用的协议不同,对CVS客户端的要求也不同,因此我们在这里不再介绍如何使CVS客户端工作的内容。假定我们能够使用如下的命令更新CVS代码:
cvs -d :ext:username@cvs.ibm.com:/cvsroot/ checkout -d directory modulename.
根据这个CVS命令,调用此命令更新CVS代码的STAX脚本如下:
代码6:调用FTP命令的STAX脚本
<process>
<location>'local'</location>
<command>'cvs'</command>
<parms>'-d :ext:username@cvs.ibm.com:/cvsroot/ checkout -d directory modulename'</parms>
<workdir>'C:/CVS'</workdir>
<stdout>'C:/CVS/cvsupdate.log'</stdout>
</process>
与代码 5 不同的是,代码 6 使用了stdout 标签,此标签表示将进程 cvs 的输出重定向到 cvsupdate.log 中,以便于我们查看 cvs 命令执行的状态和结果。
3.3 拷贝编译源码
从 CVS 和 FTP 上下载源码之后,需要将源码拷贝到编译服务器上。本节介绍如何使用 STAF 的文件传输命令以及 STAX 的循环指令。
代码 7:传输文件的 STAX 脚本
<script> directoryList = ['CVSDirectory', 'FTPDirectory'] </script>
<iterate var = "directory" in="directoryList">
<testcase name = "'sourceCopy'">
<sequence>
<stafcmd>
<location>'local'</location>
<service>'fs'</service>
<request>'copy DIRECTORY C:/Source/%s TODIRECTORY /root/build/%s TOMACHINE
buildserver RECURSE KEEPEMPTYDIRECTORIES' % directory % directory</request>
</stafcmd>
</sequence>
</testcase>
</iterate>
代码 7 拷贝 CVS 和 FTP 源码到编译服务器中。script 标签定义了一个数组 directoryList,这个数组有两个值,分别表示 CVS 源码目录和 FTP 目录。iterate 定义了一个顺序循环,分别从 CVS 目录和 FTP 目录拷贝文件到编译服务器中。 stafcmd 标签调用 STAF 命令,此处我们调用的是 FS(文件系统)服务。copy DIRECTORY 表示我们需要拷贝整个目录到编译服务器中。 如果编译服务器已经有原来的代码,为了正确起见,可以在拷贝之前使用 fs delete entry 命令来删除原有的文件。
拷贝文件后,需要通知编译服务器对更新后的源码进行编译。假定在编译服务器上存在用于编译源码的脚本文件 /root/build/build.sh,则调用此脚本文件编译源码的 STAX 脚本如代码 8 所示。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11