2014-09-12 80 views
1

我想在窗口关闭后执行操作,即假设我有一个窗口或任何弹出的对话框,现在我希望我的代码等待,直到此特定对话框关闭,然后我想继续编写代码。如何等待窗口关闭并执行QTP中的任何操作?

表示我希望等到打开窗口而不使用硬编码'Wait()'功能。

VBScript或QTP中是否有任何方法可以满足我的需求?

+0

'Status'属性。提供有关使用Exec()方法运行的脚本的状态信息。 'Status'属性返回枚举类型的值: 'WshRunning'(= 0)作业仍在运行。 'WshFinished'(= 1)作业已完成。 – JosefZ 2014-09-12 20:00:45

+0

你能详细说明吗?我的意思是假设一个对话框是通过一个java窗口打开的,我想等到对话框关闭。我可以如何在QTP中对话框的层次结构中执行它?例如:Dialog(“xy”)被添加到QTP的OR中。现在我想等到这个对话框存在。我该怎么做? – 2014-09-12 20:08:39

+0

在纯的VBScript: ' 昏暗的WshShell:设置的WshShell =的CreateObject( “WScript.Shell”): 昏暗oExec:设置oExec = WshShell.Exec( “计算值”): 的do while oExec.Status = 0: WScript的。Sleep 100: Loop: WScript.Echo oExec.Status ' – JosefZ 2014-09-12 21:41:59

回答

1

您可以在窗口上尝试'WaitProperty'方法来确定何时可见属性变为false,但是一旦窗口不再可用时可能会引发错误。否则,您可以始终循环,直到它不再存在为止

While Window("My Window").Exist(0) 
    Wait 0, 500 ' Pause briefly before looking again 
Wend