Что делать, если TestComplete не распознаёт элементы в приложении?

Иногда на форумах проскакивает вопрос “TestComplete не распознаёт ничего внутри моего приложения” или “Не видны внутренние элементы сложного элемента управления”. TestComplete поддерживает огромное количество различных сред разработки и элементов управления, однако не всегда начинающие (и даже опытные) пользователи могут сходу разобраться, что и как необходимо настраивать для максимально эффективной работы.

В этой статье я попытаюсь дать общий алгоритм решения подобных проблем. (more…)

TestComplete: ожидание окончания активности приложения без использования TestComplete

В этой статье я рассмотрю случай, когда стандартные методы TestComplete WaitProcess и WaitProperty не подходят из-за особенностей архитектуры приложения и необходимо найти другой способ определения, когда тестируемое приложение запустилось и готово к работе.

(more…)

TestComplete: какой код выполняется первым или проблема JScript Global Code

Какой код выполняется первым, когда мы запускаем тест в TestComplete? Новичок скажет, что первой выполнится первая строка теста, более опытный пользователь TestComplete вспомнит про обработчик события OnStartTest, однако в реальности всё может оказаться сложнее. Именно такую сложную ситуацию мы разберём в этой статье.

(more…)

TestComplete: автоматическая пауза скриптов при блокировке компьютера

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

(more…)

TestComplete: Использование необъявленных переменных в JScript

Язык JScript позволяет использовать необъявленные переменные в скриптах. Безусловно, это плохо, так как при первой же попытке считать значение этой переменной мы получим ошибку “Microsoft JScript runtime error. VAR_NAME is undefined”, где VAR_NAME – имя необъявленной переменной.

Тем не менее, необъявленные переменные можно использовать в цикле FOR. При этом переменная автоматически будет создана и проинициализирована. Есть лишь одна проблема: при выходе из цикла эта переменная не будет уничтожена. (more…)

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

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

TestComplete: автоматический перезапуск упавших тестов

Иногда при запуске многих тестов (например, когда тесты прогоняются по ночам без участия человека) часть тестов могут упасть с ошибками, которые затем не воспроизводятся при повторном запуске. Причины этого могут быть разными, однако обычно хочется заранее знать, воспроизведётся ли проблема, если перезапустить тест?

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

(more…)

TestComplete: ручное тестирование с использованием TestRecorder

За последние несколько лет было написано и переведено столько статей по тестированию и качеству, что практически никто уже не сомневается: тестирование – это систематический процесс, у которого есть подходы, критерии и законы. Так называемое «обезьянье тестирование» (monkey testing) если когда-то и существовало, то уже давно вымерло. Сегодня к тестировщикам предъявляются высокие требования, вплоть до умения программировать, и простое «кликанье» по приложению уже никому не нужно.
Однако так ли это на самом деле?

(more…)

TestComplete: работа над ошибками

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

(more…)