'Set here the timeout so that the code doesn't stuck here (infinite loop)
var_timeout = 60
x=0
do
x=x+1
loop until Browser("Browser").Page("Page").WinElement("Message").Exist(1) or x>var_timeout
После того, как вы определили объект, который изменяется в вашем приложении, после нажатия определенной кнопки, как, например, после нажатия кнопки Сохранить, приложение возвращает сообщение, вы можете поместить объект с помощью оператора Exist (1).
Параметр «1» объекта представляет время, в которое элемент должен быть проверен, ниже, чем это не будет работать всегда (я говорю это из опыта), и выше, не желательно.
ЭтоФрагмент, который я использую очень часто, и у меня хорошие результаты, и я думаю, что он будет соответствовать вашим потребностям.
Если у объекта нет метода Exist, попробуйте .Object.isDisabled или .Object.(проверьте, что здесь показывает автозаполнение), например, Браузер ("Браузер"). Страница ("Страница"). WinElement ("Сообщение"). Object.isDisabled, где "Объект" - это метод, который пытается использовать собственные методы объекта.
Обратите внимание, что UFT используется для автоматического функционального тестирования, и проверка объекта займет некоторое время (несколько миллисекунд).Таким образом, объект появляется, и QTP требуется несколько миллисекунд или больше, чтобы увидеть, что он существует или что свойство объекта изменило значение.