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

Фотография

Тестируемая программа перестала отвечать


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

#1 Natusya

Natusya

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

  • Members
  • Pip
  • 56 сообщений
  • Город:Россия, Владивосток


Отправлено 18 января 2012 - 23:37

Во время выполнения теста бывает такая ситуация: тестируемая программа перестала отвечать, в TestComplete вываливается окно: Время ожидания программы превышено и предлагает продолжить, либо остановить тестирование.
Через некоторое время программа снова отвечать.
Как дождаться в тесте этого момента???

Но не так, что просто в конкретном месте ставить Delay, потому что программа не всегда подвисает и не хотелось бы лишний раз ждать эту паузу.

Если какой-то способ из теста запрашивать отвечает программа или нет и, если не отвечает, то ждать ответа и после этого продолжать выполнение теста?
  • 0
Test Complete 7, Delphi, DelphiScript

#2 SergeyP

SergeyP

    Специалист

  • Members
  • PipPipPipPipPip
  • 651 сообщений
  • Город:Москва

Отправлено 19 января 2012 - 03:51

Уточните, что значит "перестала отвечать" ? (нет какого-то окна, какая-то кнопка недоступна и т.д)
  • 0

#3 Natusya

Natusya

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

  • Members
  • Pip
  • 56 сообщений
  • Город:Россия, Владивосток


Отправлено 19 января 2012 - 03:56

В Заголовке окна появляется надпись: "Не отвечает."
  • 0
Test Complete 7, Delphi, DelphiScript

#4 SergeyP

SergeyP

    Специалист

  • Members
  • PipPipPipPipPip
  • 651 сообщений
  • Город:Москва

Отправлено 19 января 2012 - 04:35

Тогда подождите, когда из заголовка окна исчезнет подстрока "Не отвечает".
  • 0

#5 Zenturio

Zenturio

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

  • Members
  • PipPipPipPip
  • 386 сообщений
  • ФИО:Дмитрий
  • Город:Смоленск - Москва


Отправлено 19 января 2012 - 06:12

По видимому тесткомплит парсит интерфейс программы и программа виснет из за этого.
Обновлите Тесткомплит и проверьте, правильно ли собрано приложение с учетом требований тесткомплита
  • 0

#6 Natusya

Natusya

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

  • Members
  • Pip
  • 56 сообщений
  • Город:Россия, Владивосток


Отправлено 19 января 2012 - 22:49

По видимому тесткомплит парсит интерфейс программы и программа виснет из за этого.
Обновлите Тесткомплит и проверьте, правильно ли собрано приложение с учетом требований тесткомплита


Собрано приложение верно, раньше всё было нормально в этом тесте, но потом программисты добавили паузу между определённым действием в программе (костыль добавили), и программа стала подвисать в этом месте при выполнении теста.

Надпись "Не отвечает", к сожалению, появляется не всегда, иногда просто видно, что она подвисла, чисто визуально, но TestComplete как это объяснить, я думала может TC сам умеет ждать пока программа ответит, какая-нибудь специальная функция...
  • 0
Test Complete 7, Delphi, DelphiScript

#7 checo

checo

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

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 20 января 2012 - 06:15

...я думала может TC сам умеет ждать пока программа ответит, какая-нибудь специальная функция...

Вряд ли TC предусматривает все варианты зависания.
На самом деле, достаточно, чтобы процесс был доступен. Дальше можно с небольшим таймаутом опрашивать все необходимые объекты.

Например (для DelphiScript):
for i:=1 to MAX_DELAY / 100 do begin
  found := false;
  try
    myForm := myProcess.Window(...);
    if myForm.Exists then
    begin
      if Assigned(myForm.SomeProperty) then
        if myForm.SomeProperty = requiredValue then found := true;
        // Или можно продолжить дальше по иерархии, пока не дождемся появления нужного объекта
    end;
  except
    //...
  end;
  if found then break;
  Delay(100);
end;

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


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

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