Подготовка Page Object Model

Подготовка Page Object Model

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс

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

Использование Page Object Model позволяет создавать поддерживаемые автоматизированные кейсы и уменьшать количество дублируемого кода. Внедрение этого паттерна позволяет разделить объекты  и тестовые скрипты.

Целью автоматизации будет автоматизация входа в Facebook и постинг комментария на своей стене.

Проделайте следующие шаги:

1) Создайте “New Package” и назовите его “pageObjects”, путем нажатия правой кнопкой на проект или выбора New > Package. Далее мы создадим следующие пакеты: Page Objects, Utilities, Test Data, Test Cases and Modular actions. Создавать такие пакеты не обязательно, но это есть рекомендацией, потому что такую структуру легко понять и поддерживать.

maven-framework-pom-10

maven-framework-pom-11

maven-framework-pom-12

2) Создайте новый класс в созданном пакете: New > Class. Назовите его “LoginPage”.

maven-framework-pom-13

maven-framework-pom-14

2) Теперь перейдите на страницу входа Facebook и с помощью панели разработки (я использую Chrome) определяем, с помощью каких локаторов удобно определить текст-боксы логина, пароля и кнопку входа.

maven-framework-pom-15

3) Теперь с помощью статических методов (для их вызова не нужно создавать обьект, а просто вызывать через имя класса) определяем элементы страницы входа. Каждый элемент будет иметь аргумент (driver) и возвращать значение (element).

4) Таким же образом, в этом же пакете, создаем новый класс: New > Class. Класс для – Home страницы Facebook.

maven-framework-pom-16
maven-framework-pom-17

5) Войдите в Facebook  и используя xpath для определения поля для публикации на стене.

maven-framework-pom-18

6) Создайте статический метод для необходимых элементов для Home страницы.

В данный момент мы закончили создание страниц входа и главной. В следующей статье мы создадим классы и метода для действий по входу и постинга комментария на стене.

Связанные статьи