3.1. Выбор модели объектов

Назад: 3 Основы разработки тестовых скриптов Содержание Дальше: 3.2 Использование стандартов именования

Это, пожалуй, один из наиболее важных моментов при работе с TestComplete. В зависимости от того, какую модель представления объектов вы выберете, будет зависеть вся ваша дальнейшая работа.
Элементы управления в любом приложении расположены в строгой иерархии. Например, есть диалоговое окно, внутри него расположен элемент Набор закладок (Tab control), каждая закладка – это также объект, в котором находятся другие элементы управления (кнопки, поля, списки и т.д.). Любой из перечисленных объектов также может быть составным (например, выпадающий список может состоять из двух частей: собственно список и поле ввода).
TestComplete позволяет работать с двумя моделями: Flat и Tree.

  • При использовании Flat модели все элементы управления внутри окна будут находиться на одном уровне независимо от того, как они расположены в приложении. Например, в описанной выше иерархии (окно – набор вкладок – вкладка – поля ввода) и набор вкладок, и каждая вкладка, и каждое поле внутри вкладки будут потомками диалогового окна
  • При использовании Tree модели все объекты будут находиться на том же уровне, как они расположены в тестируемом приложении

В качестве примера предлагаем вам посмотреть на то, как TestComplete распознает кнопку Save As в стандартном окне Display Properties:

Tree model:

Flat model:
  

В правом верхнем углу находится полное имя объекта. Из этих примеров видно, что доступ к кнопке во втором случае будет более простым, так как во втором случае кнопка Save As является прямым потомком окна Display Properties, а в первом случае у нас имеется дополнительное окно Themes.

У обеих моделей есть свои достоинства и недостатки, а также рекомендации по использованию.

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

Модель Tree фактически повторяет структуру приложения и является более «точной». Однако при ее использовании возникают дополнительные проблемы: зачастую внутреннее устройство приложения очень сложное и уровни иерархии могут достигать нескольких десятков! Обычно Tree модель рекомендуют использовать для больших приложений, где количество элементов управления очень большое и могут встречаться элементы с одинаковыми именами.

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

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

Если вы остановили свой выбор на модели Tree, вам стоит обязательно ознакомиться с главой «Использование пространства имен (Namespaces) и псевдонимов (Aliases)», где вы сможете узнать, как упростить доступ к элементам управления и повысить читабельность ваших скриптов.

Если вы тестируете веб-приложение, то изменение модели объектов – это не все, что вам нужно сделать. Обратитесь к главе 4.1 Функциональное тестирование Web-приложений чтобы узнать больше о настройках проекта для тестирования веб-приложений.

Назад: 3 Основы разработки тестовых скриптов Содержание Дальше: 3.2 Использование стандартов именования