一、测试设计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也写了个类似功能的工具。
想到工具开发的原则,无论使用什么方式、什么语言,只要能用,有实际作用即可。还要快速开发。