圖 3. 自動化腳本
測試" src="http://www.kjueaiud.com/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 也工作正常。一旦確認目標機工作正常,便可以開始后續的測試工作,否則需輸出出錯提示,并且返回。
文章來源于領測軟件測試網 http://www.kjueaiud.com/