我将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/

10-11 17:37