Привет всем! У меня возникла проблема при работе с TestComplete. Я пытаюсь сделать так, чтобы мой скрипт автоматизации не останавливался полностью, когда возникает ошибка отсутствия веб-объекта. Вместо этого я хочу, чтобы скрипт перехватывал эту ошибку, выполнял другую функцию и продолжал работу.
Я пробовал использовать блок try-catch, но оказалось, что он не видит ошибки, генерируемые самим TestComplete. Также я смотрел на обработчики событий в инструменте, но они не подходят для моей задачи.
Вот пример того, что я пытаюсь сделать:
function проверкаСтраницы() {
// Условие для продолжения без ошибок
let элемент = Псевдонимы.НазваниеОбъекта;
элемент.Нажать();
// Дополнительный код
// Сюда переход при возникновении ошибки
// Выполнение функции сброса
}
Кто-нибудь сталкивался с подобной проблемой? Как вы ее решали? Буду благодарен за любые советы!
Для обработки ошибок отсутствия объектов в TestComplete на JavaScript можно использовать функцию aqObject.CheckProperty(). Вот как это можно сделать:
function проверкаСтраницы() {
if (aqObject.CheckProperty(Псевдонимы.НазваниеОбъекта, "Exists", true)) {
Псевдонимы.НазваниеОбъекта.Нажать();
// Основной код
} else {
// Код для обработки отсутствия объекта
выполнитьСброс();
}
}
Этот подход позволяет проверить существование объекта перед его использованием и избежать остановки скрипта при ошибке.
слушай, я тоже сталкивался с этой проблемой. у меня помогло использование метода WaitProperty(). он ждет появления объекта и только потом выполняет действие. примерно так:
function проверкаСтраницы() {
if (Псевдонимы.НазваниеОбъекта.WaitProperty('Exists', true, 10000)) {
Псевдонимы.НазваниеОбъекта.Нажать();
// дальше твой код
} else {
// тут обработка если объект не появился
выполнитьСброс();
}
}
это дает гибкость - можно задать таймаут ожидания и решить что делать если объект так и не появился. попробуй, должно сработать!