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

Фотография

Общение между Helpers в PageObject pattern

PageObject Automation

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

#1 Ilana

Ilana

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

  • Members
  • PipPip
  • 83 сообщений
  • ФИО:Илана
  • Город:Иерусалим


Отправлено 15 июня 2015 - 12:08

Здравствуйте!
 
На курсе про Селениум 2 учили шаблон PageObject. Я сейчас решила переделать наш старый "процедуральный" проект автомации под этот паттерн.
 
В новом проекте сразу возник вопрос: 
 
1) могут ли Helpers вызывать функции друг друга? На курсе все примеры были с изолированными друг от друга хелперами, только класс самого теста  имел доступ ко всем хелперам сразу (ну, и ApplicationManager).
 
2) если могут, то как красиво сделать это взаимодействие? Сохранить в DriverBasedHelper поле с ApplicationManager и через него "общаться"?
 
Спасибо!

  • 0

#2 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 15 июня 2015 - 13:25

Скорее всего имеется в виду мой курс, поэтому мне и отвечать :)

 

1) В хелперах присутствовала ссылка на ApplicationManager, и тем самым через него хелперы могут обращаться к методам друг друга.

 

2) Но это не имеет ничего общего с другим архитектурным шаблоном, который называется PageObject. Вот объектам-страницам как раз вряд ли нужно разрешать обращаться к методам других объектов-страниц.


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#3 Ilana

Ilana

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

  • Members
  • PipPip
  • 83 сообщений
  • ФИО:Илана
  • Город:Иерусалим


Отправлено 16 июня 2015 - 05:57

Огромное спасибо за ответ! 
Я сейчас строю проект по структуре на картинке (мое толкование PageObject :-) ): http://s15.postimg.o...3/Diagram.jpg, 
Так был построен проект на последнем дом. задании курса. 
 
Видно я приняла использование хелперов за часть шаблона PageObject, хотя их действительно удобно использовать в одном проекте. Надеюсь что мое видение не очень ошибочно?
 
Значит хелперы могут сообщаться через ApplicationManager. Классы страниц конечно в бизнес-логике участвовать не будут (и между собой разговаривать тоже не будут).
 
Спасибо!

 

 

 

Скорее всего имеется в виду мой курс, поэтому мне и отвечать :)

 

1) В хелперах присутствовала ссылка на ApplicationManager, и тем самым через него хелперы могут обращаться к методам друг друга.

 

2) Но это не имеет ничего общего с другим архитектурным шаблоном, который называется PageObject. Вот объектам-страницам как раз вряд ли нужно разрешать обращаться к методам других объектов-страниц.


  • 0

#4 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 16 июня 2015 - 09:16

На картинке как раз хорошо видно, что хелперы и PageObjects -- это два разных слоя архитектуры.

Любой из них может отсутствовать.

Хелперы могут напрямую использовать драйвер, не создавая страницы-объекты.

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


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#5 Ilana

Ilana

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

  • Members
  • PipPip
  • 83 сообщений
  • ФИО:Илана
  • Город:Иерусалим


Отправлено 16 июня 2015 - 10:29

Все понятно! Огромное спасибо.


  • 0



Темы с аналогичным тегами PageObject, Automation

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

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