Перейти к содержимому

Фотография

PageObject патерн в TestComplete


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 gako

gako

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • Город:Калининград

Отправлено 24 ноября 2017 - 12:22

Кто-нибудь пробовал реализовать этот подход в ТестКомплите? 

Даст ли это какие-то преимущества перед использованием NameMapping?

Возникла идея реализовать класс страницы, внутри которого находить элементы через метод Find()

 


  • 0

#2 bonibom

bonibom

    Новый участник

  • Members
  • Pip
  • 4 сообщений

Отправлено 28 ноября 2017 - 19:57

Зависит от сложности пользовательского интерфейса и необходимых уровней абстракции.

Что мешает представлять отдельные окна в виде классов. У меня на проекте, например, я успользую даже класс обертку над контролами (что-то типа класса TControl).

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

строятся классы окон.

Вообще, я бы рекомендовал PageObject и, вообще, объектно-ориентированный подоход, т.к. он предоставляет возможность создания высокоуровневой обертки над

интерфейсом приложения со всеми вытекающими из этого "последствиями".

 

NameMapping считаю злом и не использую вообще.


  • 0

#3 gako

gako

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • Город:Калининград

Отправлено 29 ноября 2017 - 07:06

Спасибо за ответ!

 

Насколько я понимаю, у вас десктопное приложение? 

У меня веб-приложение, есть формы (страницы), которые содержат около сотни контролов. Пока наблюдаю, что реализация их поиска внутри класса методом Find() занимает существенно больше времени, чем если использовать NameMapping. 

Сейчас пробую комбинировать - инициализирую все объекты в конструкторе класса, но через их Aliases.


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных