• 测试技术
  • 博客
  • 视频
  • 开源
  • 论坛
  • 沙龙
  • 下载
  • 杂志
  • 招聘

字号: | 推荐给好友 上一篇 | 下一篇

利用 STAF 实现程序更新包的自动部署测试

发布: 2008-9-22 17:12 | 作者: 崔俊涛 | 来源: 领测软件测试网采编 | 查看: 251次 | 进入领测软件测试网论坛讨论

领测软件测试网

4.经验教训软件测试技术门户 y*lCw"B.b3D3?^

虽然现在 STAF(STAX) 已经比较完善,但在实际使用的过程中,我们还是发现了一些问题。本节介绍这些问题以及解决或者避免这些问题的方法,使读者在碰到这些问题时能够及时的解决它们。

P{*wG'KB

4.1 使用 STAFCMD 的 process 服务,不要使用 STAX 的 process 标签

F }{xi$r!L$G _;V

为了编写 STAX 脚本方便,STAX 定义了 process 标签用来调用 STAF 中的进程(process)服务。但在使用过程中,发现 STAX 的 process 标签在某些情况下存在着一定的问题,其所调用的进程不能返回。 代码 11 的 STAX 脚本就是这样一个例子。

0K8X!{~5l#P!m
5`a2~ _1TBg x N Y代码 11:process 标签不能返回软件测试技术门户g.L1wLo+J,JvmP
                <process>  <location>'linuxServer' </location>  <command>'ls'</command>  <parms>'-l'</parms></process>      
软件测试技术门户!cK`tFEp&^

代码 11 调用 Linux 机器上的 ls 命令,并且传给 ls 命令 -l 参数。使用 STAXMonitor 执行此脚本,任务始终无法返回。因此推荐使用 stafcmd 标签直接调用 STAF 服务,如代码 12 所示。

4z5]!yOya3h
5A [6lX.wn@&y*Dz代码 12:修改后的任务软件测试技术门户!v"s$j2c:qJ7Il?
                <stafcmd>  <location>'linuxServer'</location>  <service>'process'</service>  <request>'start command "ls" parms "-l" wait '</request></stafcmd>      

3_8SZ'o3Q/@

4.2 在 Windows 平台上不要使用 STDOUT 重定向输出

[*t)L C,o)l? [F]

STAF 使用 STDOUT 来为启动的进程重定向输出,类似于>参数,比如 ls -l > ls.log。但在 Windows 平台使用中,我们发现使用 STDOUT 会带来一些问题。 如果调用的进程为批处理文件,并且此批处理文件中包含某些特定的功能,比如 xcopy,则 xcopy 将不会工作。另外一些检查目录和文件的命令也不能与 STDOUT 共存。 在 Linux 环境中并不存在这样的问题。因此,如果需要在 Windows 平台中使用重定向输出的功能时,建议使用>来重定向输出。软件测试技术门户s,JJD%n

4.3 使用 STAXMonitor 监控任务的执行情况

a.} p"\!Q;q

对于 STAF 和 STAX 新手来说,尽可能使用 STAXMonitor 来监控 STAX 任务的执行情况。STAXMonitor 为我们提供了足够详细的信息,比如测试用例的执行结果,任务执行的消息,当前执行的命令。 使用 STAXMonitor 有助于我们对正在进行的任务进行分析并且监控其执行情况和结果。软件测试技术门户$w zuZ%Q;j"G

STAXMonitor 在 STAX 安装文件中,可以用java -jar STAXMon.jar来启动 STAXMonitor。STAXMonitor 的界面如图 3 所示。软件测试技术门户)tmnF_6n yg

软件测试技术门户#_*w{%Bd baY;Lh
图3. STAXMonitor 运行界面
M%@ `