Перейти к содержимому

Фотография

Ожидание, пока button не станет enable


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1 anton.

anton.

    Новый участник

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Антон

Отправлено 26 апреля 2007 - 08:51

Здравствуйте.
Подскажите, пожалуйста, есть ли возможность заставить TC5 подождать пока кнопка не станет активной, и продолжать выполнение скрипта только после этого события?
  • 0

#2 Genka

Genka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 26 апреля 2007 - 09:03

Вам поможет

WaitProperty Method
Delays the script execution until an object property equals the specified value or until the timeout is over
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#3 anton.

anton.

    Новый участник

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Антон

Отправлено 26 апреля 2007 - 14:58

спасибо большое. помогло =)
  • 0

#4 *Angel*

*Angel*

    Новый участник

  • Members
  • Pip
  • 41 сообщений
  • ФИО:*Angel*

Отправлено 04 мая 2007 - 06:18

мне что-то не помогло:(
w1.WaitProperty("Visible", "True", 190000);    
в итоге работает через раз..
  • 0

#5 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 04 мая 2007 - 10:52

Может быть свойство не то ожидается? У меня сейчас нет под рукой ТестКомплита, но по-моему у объектов должно быть свойство Enabled, которое как раз отвечает за активность. Visible обычно отвечает за видимость объекта (то есть он есть, с ним можно делать все что угодно, но он просто не отображается).
  • 0

#6 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 08 мая 2007 - 08:11

Здравствуйте.

Возможно, объект w1 не успевает обновиться до того момента, как вы зовёте WaitProperty. Попробуйте вставить небольшую задержку:

Delay(500);
w1 = p.Window(...);
w1.WaitProperty("Visible", "True", 190000);

  • 0
С уважением,
Дмитрий

#7 APC

APC

    Опытный участник

  • Members
  • PipPipPipPip
  • 293 сообщений
  • ФИО:Похилько Андрей Федорович
  • Город:Москва


Отправлено 08 мая 2007 - 11:50

У нас такие же проблемы - ТС5 "летит" вперед поезда. ТС3 ждал всегда окончания отработки действия...

Вставлять Delay - самоубийство. В тестах будут часы пустого ожидания... Мож у кого еще какой опыт есть...
  • 0

#8 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 08 мая 2007 - 13:53

У нас такие же проблемы - ТС5 "летит" вперед поезда. ТС3 ждал всегда окончания отработки действия...

Вставлять Delay - самоубийство. В тестах будут часы пустого ожидания... Мож у кого еще какой опыт есть...

Просмотр сообщения

Вот такая "беготня впереди поезда" зачастую связана с тем, что некоторые действия не синхронизированы вообще, либо синхронизированы не с теми событиями, что надо. В качестве примера к последнему можно привести ожидание того, что некоторый элемент станет активным, то есть он перейдет из деактивированного состояния в активированное. Если ждать свойства Exists равного TRUE, то ожидание прервется сразу же, поскольку объект изначально существует. Если ожидать того же результата от Visible, то ожидание тоже прервется сразу же, поскольку объект изначально видимый. Но для этих целей стоит дожидаться свойства Enabled. Именно оно определяет, активирован объект или нет.

То есть проблема заключается в том, что производится ожидание события, которое уже наступило. Соответственно, если использовать Delay, то это абсолютно лишает смысла использование WaitProperty, задачей которого является ожидание, но при этом некоторого события и не более, чем указано по времени, в отличии от Delay, который просто тупо простаивает указанное время.
  • 0

#9 AlexP

AlexP

    Опытный участник

  • Members
  • PipPipPipPip
  • 406 сообщений
  • Город:Санкт-Петербург

Отправлено 08 мая 2007 - 14:36

Я согласен с KaNoN... свойство Visible отвечает за отображение контрола на форме (true - конрол виден, false - нет), в то время как Enable - за "активность" контрола.

В случае с *Angel*, периодичность работы никак не связано с кодом:
w1.WaitProperty("Visible", "True", 190000);

  • 0

#10 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 08 мая 2007 - 15:16

В случае с *Angel*, периодичность работы никак не связано с кодом...


Именно так. Вообще хорошо, когда в скриптах содержится минимум кода, который работает по принципу "вдохнуть и не дышать" или же при определенных "шаманских плясках". Поэтому если скрипт работает через раз - это ооочень плохо работающий скрипт и скорее всего вы что-то не так сделали, что-то надо поправить.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных