一、測試設計1
使用vbs編寫一個腳本,讓其在指定時間,截一個圖,即可實現需求。
Vbs腳本如下:
Dim MyTime
MyTime = Timer '返回午夜12時以後已經過去的秒數
Do While MyTime<=51700
MyTime = Timer
if MyTime>51600 and MyTime< 51610 then
WScript.CreateObject("WScript.Shell").Run "PrtSc" & " /s",0,true
WScript.CreateObject("WScript.Shell").Run "cmd /c del " & "PrtSc",vbhid
MsgBox "當前屏幕圖象已經拷貝到系統剪貼板", 64, "信息"
end if
Loop
其中,PrtSc爲網上下載的一個小工具,點擊一下即可截屏。只需將上述代碼寫入記事本,保存爲後綴名爲.Vbs的文件,測試開始前點擊該文件。第二天過來,在畫圖中粘貼,即可得到指定時間的截圖。
一、測試設計2
進一步想,能否實現全程不用監控?如用一個晚上,剛好可以跑完四個**點,每到一個**點的不同時刻截屏,整個測試數據更豐富。
編寫如下vbs腳本,結合QTP的使用:
Dim MyTime0
Dim MyTime1
Dim WshShell
Set WshShell=WScript.CreateObject("WScript.Shell")
MyTime0 = Minute(Now)
MyTime1 = Timer '從午夜12點開始到現在逝去的時間
do while MyTime1<=86300 '設定到幾點停止(也可以一直跑)
MyTime1 = Timer
MyTime0 = Minute(Now) '獲取現在的分鐘
if Mytime0=37 then '每個小時的37分鐘截一個圖
Dim qtApp
Set qtApp=CreateObject("QuickTest.Application") '創建QTP對象
qtApp.Launch '啓動QTP
qtApp.Open "C:/Tests/Test1",False '打開測試
qtApp.Test.Run '運行測試
qtApp.Test.Save '保存測試
qtApp.Quit '退出QTP
Set qtApp=Nothing '釋放QTP應用程序對象
End If
WScript.Sleep 4000 '每個循環後中停止4s,否則該程序一直在快速跑,佔用cpu 資源極大
Loop
WScript.Quit
QTP編寫如下test:
Dim str
str = Hour(Now)
Desktop.CaptureBitmap "C:/" & str & ".bmp",true
即可實現每隔一定時間截取圖形的要求。
---------------
後來發現,有同事使用vc也寫了個類似功能的工具。
想到工具開發的原則,無論使用什麼方式、什麼語言,只要能用,有實際作用即可。還要快速開發。