VBS--自動定時截圖工具

一、測試設計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也寫了個類似功能的工具。

    想到工具開發的原則,無論使用什麼方式、什麼語言,只要能用,有實際作用即可。還要快速開發。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章