2014-10-22 2 views
0

Если кнопка отображается на странице (или части страницы), то она квалифицирует эту часть как два разных объекта PageObject, где один объект PageObject предоставляет методы для взаимодействовать с кнопкой, в то время как другой объект PageObject не работает? Или, если это одна страница с методом, который может генерировать исключение, когда кнопка не отображается.Какими должны быть критерии для создания нового типа объекта PageObject

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

+1

Если кнопка переводит вас на новую страницу, кнопка должна возвращать экземпляр этого нового объекта страницы, иначе его часть текущего объекта страницы. По крайней мере, это мое понимание. – bcar

+0

@bcar Мой вопрос не в том, что должна вернуть кнопка. Я спрашиваю, показывает ли страница кнопке в зависимости от какого-либо действия пользователя, должен ли я иметь два объекта страницы для одной и той же страницы, один с функцией кнопки, а другой без кнопки. –

ответ

2

В этом случае

кнопка может начать появляться в обоих случаях или функциональные возможности могут полностью изменить

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

Я считаю, что Composite Page Object является приемлемой и

ремонтопригодно решение

в обеих случаях. Так как это позволит вам структурировать объекты страницы более «объектно-ориентированным» способом, разделяя вспомогательные объекты, которые могут быть повторно использованы на разных страницах и включать их в родительский объект. Рассмотрим следующий пример:

enter image description here

Дальнейшее чтение о GUI automation patterns.

+0

Я бы согласился с этим ответом. Хорошо сказано! – bcar

Смежные вопросы