
Не могу разобраться с page object
#1
Отправлено 11 апреля 2012 - 13:45
http://selenium2.ru/...tml#page-object
Почему просто нельзя создать public static void login_site(String login, String password), куда передовать просто логин и пароль ?
т.е. если хотим залогиниться, то вызываем login_site(xxxxx, xxxxx)
Потом метод login_site можно легко усовершенствовать, типо, если мы находимся на главной странице то входим в систему и т.п....
просто не могу понять смысл page object
#2
Отправлено 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
#3
Отправлено 11 апреля 2012 - 14:28
А в чем вопрос? Вы хотите чтоб Вас уговорили использовать объектную модель?! :)))
)))
Вопрос в том, для чего использовать объектную модель ?
#4
Отправлено 11 апреля 2012 - 14:36
-Легко читаются тесты.
-Тесты независимы от изменений в системе. Т.е. если у нас, к примеру, изменятеся название какого-либо объекта во всей системе, то нам не приходится искать его по всем тестам, достаточно лишь подправить Объект страницы.
-Скорость написания тестов увеличивается в разы.
#5
Отправлено 11 апреля 2012 - 14:39
А если мы хотим залогиниться, а потом сделать 100500 вещей) Вы все эти 100500 методов в одном классе будете описывать?)Почему просто нельзя создать public static void login_site(String login, String password), куда передовать просто логин и пароль ?
т.е. если хотим залогиниться, то вызываем login_site(xxxxx, xxxxx)
Потом метод login_site можно легко усовершенствовать, типо, если мы находимся на главной странице то входим в систему и т.п....
просто не могу понять смысл page object
#6
Отправлено 11 апреля 2012 - 14:41
Преимущества:
-Легко читаются тесты.
-Тесты независимы от изменений в системе. Т.е. если у нас, к примеру, изменятеся название какого-либо объекта во всей системе, то нам не приходится искать его по всем тестам, достаточно лишь подправить Объект страницы.
-Скорость написания тестов увеличивается в разы.

Не совсем. Тесты независимы только если покрывают одну страницу. Если же несколько страниц, то начинает проявляться зависимость. Допустим было 2 страницы стало 3(тест должен затрагивать их все), тест придётся переписать.-Тесты независимы от изменений в системе.
#7
Отправлено 11 апреля 2012 - 14:49
1 - спорно (для меня по крайней мере)Преимущества:
-Легко читаются тесты.
-Тесты независимы от изменений в системе. Т.е. если у нас, к примеру, изменятеся название какого-либо объекта во всей системе, то нам не приходится искать его по всем тестам, достаточно лишь подправить Объект страницы.
-Скорость написания тестов увеличивается в разы.
По поводу пункта 2, все локаторы обязны храниться в энумах, т.е. если изменился локатор, то я его меняю только в одном месте
3 - м.б. и верно
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных