2017-02-09 18 views
0

Я начинаю перепроектировать все свои тестовые классы с помощью модели Page-Object, но каждая документация или учебник, которые я нашел, показывают примеры в проектах с одним сайтом , и в моем случае у меня есть 10 или более сайтов (и список растет, в следующем году будет как 20 или 30 сайтов), которые разделяют около 90% элементов и данных пользовательского интерфейса, а также другие сайты, которые делятся как 50 -80% элементов пользовательского интерфейса и данных. Кроме того, на сайтах есть мобильные версии, которые имеют несколько разные элементы пользовательского интерфейса из настольных версий, говорят, что они на 80% похожи на версии Desktop.Лучшие практики. Как спроектировать объекты тестирования объектов страницы для нескольких похожих веб-сайтов

Каков наилучший подход к разработке чего-то с учетом этого сценария? Должен ли я спроектировать его, чтобы иметь другой класс Page-Object для каждого сайта и для настольных/мобильных версий? или мне следует группировать их на настольных и мобильных версиях, соответственно, именовать элементы с именем префикса сайта? Кажется, я не нашел никакого стандарта для подобных ситуаций.

ответ

1

В объектной модели страницы вы должны идеально иметь 1 класс для каждого экрана/страницы, который инкапсулирует все ваши объекты и методы на этой странице. Создайте новый класс страницы для каждого экрана. Я бы предложил иметь абстрактный класс для каждой страницы (со всеми общими сказать 90% объектов) и убедиться, что ваши методы переопределяемы из дочерних классов. Может быть несколько дочерних классов каждого класса abstarct класса (например, различные технологии Modile/Desktop), где вы можете переопределить любой метод, который не использует общий абстрактный метод в этой конкретной технологии. Поддерживать отдельные классы объектов (на странице), которые будут поддерживать свойства всех ваших объектов на этой странице. Чтобы прочитать на странице объектов модели визит:

http://testautomationlove.blogspot.in/2016/02/page-object-design-pattern.html

+0

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

+0

рад, что это помогло :) – Saumya