в QTP как проверить, открыт ли уже диалог? - PullRequest
2 голосов
/ 29 июня 2010

Я использовал следующий код, чтобы проверить, открыт ли уже диалог

If  Window(window_name).Dialog(dialog_name).Exist = False 
    Then '' //here qtp waits..
    Window(window_name).WinMenu("Menu").Select menu_name
End If

Этот код предназначен для того, чтобы не открывать одно и то же диалоговое окно при каждом запуске кода. Но прогон qtp ждет около 10 - 15 секунд и затем переходит к следующему шагу. каким образом мы можем избежать этого?

Если диалоговое окно не открыто, то откроется меню, чтобы открыть диалоговое окно.

Ответы [ 2 ]

2 голосов
/ 29 июня 2010

Свойство Exist принимает значение времени ожидания существования объекта.

If Window(window_name).Dialog(dialog_name).Exist(60) = False

Кстати, Exist возвращает логическое значение, а не строку, поэтому следует сравнить с Falseне "False".

0 голосов
/ 01 августа 2010

Упомянутый метод хорош. Вы также можете попробовать этот метод.

If (Window(window_name).Dialog(dialog_name)
  .winbutton(Btn_name).Getroproperty("abs_x"))

Возвращает true, если объект существует, если нет, возвращает false.

...