图 3. 自动化脚本
测试" src="https://www.ltesting.net/attachments/2009/05/54376_200905251903053W0RK.jpg">
各部分的 STAX 脚本代码示例如下:
示例代码 1. 转换虚机状态
MILY: Verdana, Arial, 新宋体; BACKGROUND-COLOR: rgb(230,230,230); WORD-WRAP: break-word"><! — Revert VM to a saved state-->
<sequence>
<!-- FREE EDITION - ONLY A SINGLE SNAPSHOT IS AVAILABLE -->
<process name="'revertVM'">
<location>VMWare Server</location>
<command>'vmwareRun'</command>
<parms>'revertToSnapshot vmwareVirtualMachinePath vmImageFile vmImageFile'</parms>
</process>
<if expr="callRC != 0">
<throw exception="'eTerminateFunction'">'Failed to Revert VMware Image Snapshot'</throw>
</if>
<!-- Ping the target machine and ensure it open -->
<log level="'user1'">'Waiting for target %s open' % (vmIP)</log>
<timer duration="'10m'">
<sequence>
<script>pingRC = 1</script>
<loop until="pingRC == 0">
<sequence>
<stafcmd name="'STAFPingTargetMachine'">
<location>VM</location>
<service>'PING'</service>
<request>'PING'</request>
</stafcmd>
<if expr="RC != 0">
<sequence>
<stafcmd name="'delay'">
<location>'local'</location>
<service>'DELAY'</service>
<request>'DELAY %s' % (delayTime)</request>
</stafcmd>
<sequence>
<else>
<log level="'user1'">'%s is opened' % (vmIP)</log>
</else>
</if>
</sequence>
</loop>
</sequence>
</timer>
<!-- If the target did not ping within the given amount of time -->
<if expr="RC != 0">
<throw exception="'eTerminateFunction'">
'The target failed to reboot and start STAF within the specified amount of time.
Please check the target for further details'
</throw>
</if>
</sequence>
通过在 VMware 服务器上执行 VMware 软件本身提供的转换 snapshot 的命令,可以方便的将目标虚拟机恢复到测试的初始状态。继而,可以通过 STAF 提供的 PING 服务进一步确认目标虚拟机已经开启,并且运行在其上的 STAF 也工作正常。一旦确认目标机工作正常,便可以开始后续的测试工作,否则需输出出错提示,并且返回。
文章来源于领测软件测试网 https://www.ltesting.net/