Ожидание, пока button не станет enable
#1
Отправлено 26 апреля 2007 - 08:51
Подскажите, пожалуйста, есть ли возможность заставить TC5 подождать пока кнопка не станет активной, и продолжать выполнение скрипта только после этого события?
#2
Отправлено 26 апреля 2007 - 09:03
WaitProperty Method
Delays the script execution until an object property equals the specified value or until the timeout is over
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#3
Отправлено 26 апреля 2007 - 14:58
#4
Отправлено 04 мая 2007 - 06:18
w1.WaitProperty("Visible", "True", 190000);в итоге работает через раз..
#5
Отправлено 04 мая 2007 - 10:52
#6
Отправлено 08 мая 2007 - 08:11
Возможно, объект w1 не успевает обновиться до того момента, как вы зовёте WaitProperty. Попробуйте вставить небольшую задержку:
Delay(500); w1 = p.Window(...); w1.WaitProperty("Visible", "True", 190000);
Дмитрий
#7
Отправлено 08 мая 2007 - 11:50
Вставлять Delay - самоубийство. В тестах будут часы пустого ожидания... Мож у кого еще какой опыт есть...
Андрей Похилько
#8
Отправлено 08 мая 2007 - 13:53
Вот такая "беготня впереди поезда" зачастую связана с тем, что некоторые действия не синхронизированы вообще, либо синхронизированы не с теми событиями, что надо. В качестве примера к последнему можно привести ожидание того, что некоторый элемент станет активным, то есть он перейдет из деактивированного состояния в активированное. Если ждать свойства Exists равного TRUE, то ожидание прервется сразу же, поскольку объект изначально существует. Если ожидать того же результата от Visible, то ожидание тоже прервется сразу же, поскольку объект изначально видимый. Но для этих целей стоит дожидаться свойства Enabled. Именно оно определяет, активирован объект или нет.У нас такие же проблемы - ТС5 "летит" вперед поезда. ТС3 ждал всегда окончания отработки действия...
Вставлять Delay - самоубийство. В тестах будут часы пустого ожидания... Мож у кого еще какой опыт есть...
То есть проблема заключается в том, что производится ожидание события, которое уже наступило. Соответственно, если использовать Delay, то это абсолютно лишает смысла использование WaitProperty, задачей которого является ожидание, но при этом некоторого события и не более, чем указано по времени, в отличии от Delay, который просто тупо простаивает указанное время.
#9
Отправлено 08 мая 2007 - 14:36
В случае с *Angel*, периодичность работы никак не связано с кодом:
w1.WaitProperty("Visible", "True", 190000);
#10
Отправлено 08 мая 2007 - 15:16
В случае с *Angel*, периодичность работы никак не связано с кодом...
Именно так. Вообще хорошо, когда в скриптах содержится минимум кода, который работает по принципу "вдохнуть и не дышать" или же при определенных "шаманских плясках". Поэтому если скрипт работает через раз - это ооочень плохо работающий скрипт и скорее всего вы что-то не так сделали, что-то надо поправить.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных