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

Фотография

Не могу разобраться с page object


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

#1 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 897 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 11 апреля 2012 - 13:45

На сайте selenium2.ru есть немного описания page object
http://selenium2.ru/...tml#page-object

Почему просто нельзя создать public static void login_site(String login, String password), куда передовать просто логин и пароль ?
т.е. если хотим залогиниться, то вызываем login_site(xxxxx, xxxxx)
Потом метод login_site можно легко усовершенствовать, типо, если мы находимся на главной странице то входим в систему и т.п....
просто не могу понять смысл page object
  • 0

#2 Vitalik_V

Vitalik_V

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

  • Members
  • PipPip
  • 149 сообщений
  • ФИО:Виталий
  • Город:Харьков

Отправлено 11 апреля 2012 - 14:07

На сайте selenium2.ru есть немного описания page object
http://selenium2.ru/...tml#page-object

Почему просто нельзя создать public static void login_site(String login, String password), куда передовать просто логин и пароль ?
т.е. если хотим залогиниться, то вызываем login_site(xxxxx, xxxxx)
Потом метод login_site можно легко усовершенствовать, типо, если мы находимся на главной странице то входим в систему и т.п....
просто не могу понять смысл page object

А в чем вопрос? Вы хотите чтоб Вас уговорили использовать объектную модель?! :)))
  • 0

#3 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 897 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 11 апреля 2012 - 14:28

А в чем вопрос? Вы хотите чтоб Вас уговорили использовать объектную модель?! :)))


)))
Вопрос в том, для чего использовать объектную модель ?
  • 0

#4 lives_mobile

lives_mobile

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

  • Members
  • PipPip
  • 79 сообщений
  • ФИО:Алексей

Отправлено 11 апреля 2012 - 14:36

Преимущества:
-Легко читаются тесты.
-Тесты независимы от изменений в системе. Т.е. если у нас, к примеру, изменятеся название какого-либо объекта во всей системе, то нам не приходится искать его по всем тестам, достаточно лишь подправить Объект страницы.
-Скорость написания тестов увеличивается в разы.
  • 0

#5 D2Phoenix

D2Phoenix

    Постоянный участник

  • Members
  • PipPipPip
  • 200 сообщений
  • ФИО:Чадюк Вадим
  • Город:Гродно


Отправлено 11 апреля 2012 - 14:39

Почему просто нельзя создать public static void login_site(String login, String password), куда передовать просто логин и пароль ?
т.е. если хотим залогиниться, то вызываем login_site(xxxxx, xxxxx)
Потом метод login_site можно легко усовершенствовать, типо, если мы находимся на главной странице то входим в систему и т.п....
просто не могу понять смысл page object

А если мы хотим залогиниться, а потом сделать 100500 вещей) Вы все эти 100500 методов в одном классе будете описывать?)
  • 0

#6 D2Phoenix

D2Phoenix

    Постоянный участник

  • Members
  • PipPipPip
  • 200 сообщений
  • ФИО:Чадюк Вадим
  • Город:Гродно


Отправлено 11 апреля 2012 - 14:41

Преимущества:
-Легко читаются тесты.
-Тесты независимы от изменений в системе. Т.е. если у нас, к примеру, изменятеся название какого-либо объекта во всей системе, то нам не приходится искать его по всем тестам, достаточно лишь подправить Объект страницы.
-Скорость написания тестов увеличивается в разы.

:good:

-Тесты независимы от изменений в системе.

Не совсем. Тесты независимы только если покрывают одну страницу. Если же несколько страниц, то начинает проявляться зависимость. Допустим было 2 страницы стало 3(тест должен затрагивать их все), тест придётся переписать.
  • 0

#7 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 897 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 11 апреля 2012 - 14:49

Преимущества:
-Легко читаются тесты.
-Тесты независимы от изменений в системе. Т.е. если у нас, к примеру, изменятеся название какого-либо объекта во всей системе, то нам не приходится искать его по всем тестам, достаточно лишь подправить Объект страницы.
-Скорость написания тестов увеличивается в разы.

1 - спорно (для меня по крайней мере)
По поводу пункта 2, все локаторы обязны храниться в энумах, т.е. если изменился локатор, то я его меняю только в одном месте
3 - м.б. и верно
  • 0


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

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