我将QTP 10与VMWare一起使用来测试Siebel应用程序。
我正在执行以下代码以单击“保存”按钮。
Browser("Siebel").Dialog("Filedownload").WinButton("Save").Click
当我通过远程桌面连接到VM时,代码工作得很好。
另一方面,当我通过调度程序启动QTP测试时,如果没有远程桌面连接,则上面的代码将失败,并且没有任何错误消息。 WinButton根本没有被单击。
任何想法?
最佳答案
只是为了补充我的经验。
在一些我工作过的公司中,由于安全政策的缘故,我无法更改屏幕保护程序或待机设置。一台PC在很长的同步时间内启动了屏幕保护程序(例如生成非常大的报告),并且执行中断。
为避免这种情况,我创建了简单的“防睡眠”功能,每5分钟稍微“移动”鼠标一次。
http://automation-beyond.com/2009/08/18/anti-sleep-function/
Private Const SleepTime_Max = 300 ‘ 5 minutes
Public Function AntiSleep()
Dim iter
Dim objTimer
Dim objDeviceReplay
Dim intTimeElapsed
Set objTimer = MercuryTimers(“AntiSleep”)
intTimeElapsed = CInt(objTimer.ElapsedTime/1000)
If intTimeElapsed = 0 Then
MercuryTimers(“AntiSleep”).Start
Exit Function
End If
If intTimeElapsed < SleepTime_Max Then
Exit Function
End If
Set objDeviceReplay = CreateObject(“Mercury.DeviceReplay”)
For iter = 100 To 110
objDeviceReplay.MouseMove iter,300
Next
MercuryTimers(“AntiSleep”).Start
Set objDeviceReplay = Nothing
End Function
在自定义同步功能中使用它的示例:
http://automation-beyond.com/2009/08/20/gui-object-synchronization-custom-function/
谢谢,
阿尔伯特·加雷耶夫
关于vmware - QTP + VM:当我未通过远程桌面连接到VM时,为什么不执行Click命令?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1700380/