Почему TestComplete так медленно? - PullRequest
5 голосов
/ 23 апреля 2009

Мы используем TestComplete из AQTime для тестирования GUI на клиенте с нашим клиент-серверным приложением. Он скомпилирован с Delphi 2007. Исходный код клиента составляет около 1,4 миллиона исходных строк. Аппаратное обеспечение - двухъядерный процессор Intel с тактовой частотой 2,13 МГц, 2 ГБ ОЗУ, использующий Windows XP Pro.

Я компилирую приложение со всеми параметрами отладки, а также делаю ссылки в TCOpenApp, tcOpenAppClasses, tcPublicInfo, tcDUnitSupport, как описано в документации, чтобы сделать его открытым приложением. Полученный exe-файл составляет около 50 МБ.

Теперь, когда запускается тестовый скрипт, и он работает, но работает очень-очень медленно. Процессор работает на 100%, и немного расстраивает изменение тестового сценария из-за медлительности. Я отключил все эффекты рабочего стола, такие как закругленные углы окон. Нет фона рабочего стола.

Кто-нибудь еще с таким же опытом или даже решением?

Ответы [ 2 ]

7 голосов
/ 23 апреля 2009

Ваша проблема, вероятно, заключается в том, что вы скомпилировали отладочную информацию и используете модули tcXXX, в результате чего создается огромное количество объектов.

Стенограмма Доски объявлений AutomatedQA

Вы скомпилировали его в режиме отладки? У нас есть приложение, которое при компиляции в Режим отладки медленный при использовании с TC. Это из-за огромного количества объекты в нем. Если мы скомпилируем без отладки, но с помощью активатора (ов) TC, все хорошо.

и этот может помочь

Несколько областей, где вы можете увеличить скорость.

Если вы просто используете запись и воспроизведения, затем посмотрите на замену .Keys ("xxx") вызывает .wText = "xxx". Функция Keys будет использовать мс задержка между нажатиями клавиш, в то время как wText просто заставляет текст перезаписать внутри.

Второе предложение (которое вы скорее всего уже посмотрел) есть Сервис-> Проект по умолчанию Свойства-> Проект-> Воспроизведение, настройка задержки до 100 мс, 5 мс и 5 мс сводить паузы к минимуму.

Что касается свойств объекта, то да, ТС загружает их всех. Вы можете заставить это с процессом обновления на ваш приложение, так что данные вынужден быть доступным без задержка загрузки при вызове. Это может помочь с уменьшением внешнего вида задержка.


Редактировать:

  • Мы также оценивали TestComplete и также столкнулись с этой проблемой производительности. Мне было бы очень интересно узнать, если и как вы наконец решили их.
  • Тем не менее, я думаю, что это продукт с огромным потенциалом, который действительно может помочь вам в организации всех ваших модулей, интеграций и тестов GUI.
0 голосов
/ 18 апреля 2013

Теперь, когда запускается тестовый скрипт, и он работает, но работает очень-очень медленно. Процессор работает на 100%, и немного расстраивает изменение тестового сценария из-за медлительности. Я отключил все эффекты рабочего стола, такие как закругленные углы окон. Нет фона рабочего стола.

Кто-нибудь еще с таким же опытом или даже решением?

Я рекомендую вам попробовать изменить порты TCP, которые TestComplete использует для удаленных подключений. Вы можете изменить их в диалоге Network Suite Options . Например, вы можете установить 6100-6102 портов. Это помогает? Подобная проблема была описана в ветке форума TC 9.20, потребляющей 98% процессора SmartBear.

...