TestComplete: особенности настроек Stop on Error

TestComplete по умолчанию останавливает выполнение скриптов, если в лог попадает ошибка. Так как такое поведение не всегда бывает удобно, его можно изменить на уровне настроек проекта.

Для этого необходимо зайти в меню Tools | Current Project Properties, выбрать группу настроек Playback и отключить необходимые чекбоксы.

Теперь, казалось бы, TestComplete не станет останавливаться в случае ошибок, однако не всё так просто. У Test Item-ов есть свои настройки поведения в случае возникновения ошибок, однако они скрыты по умолчанию.

Чтобы отобразить эти настройки:

  1. откройте список Test Item-ов проекта (правый щелчок на имени проекта, Edit | Test Items);
  2. щёлкните правой кнопкой мыши по заголовку таблицы и выберите пункт меню Field Chooser;
  3. из появившегося окошка Customization перетащите поля Stop on error и Stop on exception на заголовок таблицы;
  4. закройте окно Customization.

Теперь мы видим, что для каждого Test Item у нас есть настройки Stop on error и Stop on exceptionStop on error срабатывает, когда возникает ошибка TestComplete (например, не найдено окно, с которым необходимо работать), Stop on exception срабатывает в случае возникновения исключения в коде (например, попытка вызова несуществующей функции). Каждая из этих настроек может быть в трёх состояниях:

  • None — в этом случае выполнение скриптов продолжается.
  • Project — выполнение всего проекта будет остановлено.
  • Test Item — в этом случае TestComplete попытается продолжить выполнение текущей итерации Test Item-a, однако следующие итерации (см. колонку Count) и дочерние Test Item-ы запущены не будут.

По умолчанию для всех Test Item-ов выбрано значение Test Item, что довольно удобно в большинстве случаев. В скриптах получить значения этих настроек можно с помощью свойств TestItem.StopOnError и TestItem.StopOnException.

Следует также помнить, что опция Stop on error в Test Item-ах срабатывает только тогда, когда в настройках проекта отключена опция Stop on error, а опция Stop on exception срабатывает только в том случае, если в настройках проекта отключена опция Error dialog.