VBS中貌似没有回调函数的概念,只有一个getref的方法,凑合着用,以下代码经过测试已通过,在日常的自动化测试任务中,我们通常会遇到这样的场景:
1.每隔一定时间段去获取什么什么?
2.每隔一定的时间段去做什么什么?
3.每隔一定的时间段去发送什么什么邮件?
这就是一个定时器的概念,其实实现起来比较简单,自定义一个函数即可,自带三个参数,正好在这里解释一下:
参数1,总时间(可设置定时器的生命周期);参数2,间隔时间(以秒为单位);参数3,要做什么(sub过程名)
已知问题:第三个参数如果是调用的Funciton,由于Function本身可能带有参数,故脚本会运行失败,其实解决办法很简单,把Function直接再放入某个SUB中就行了。
'QTP定时器函数 By Archer
'totaltime参数默认以分钟为单位,pertime参数默认以秒为单位
Function timercontrol(totaltime,pertime,fname)
For i=1 to totaltime*60
'要做的事情
Dim ref '定义一个指针
Set ref=getref(fname) '指向指定过程名
Call ref() '调用该过程
wait pertime
Next
End Function
Sub helloword()
msgbox "定时器"
End Sub
'调用定时器函数
timercontrol 1,1,"helloword"