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也写了个类似功能的工具。

    想到工具开发的原则,无论使用什么方式、什么语言,只要能用,有实际作用即可。还要快速开发。

 

你可能感兴趣的:(10_脚本-VBS)