QA || PageObject. Поэтапная инструкция.

  Рет қаралды 30,881

Hillel IT School

Hillel IT School

Күн бұрын

Артур Пилюк, Senior QA Automation в Lohika, на реальном примере объясняет, как применять PageObject.
Справочник по QA - itwiki.dev/front-end
Презентация: tinyurl.com/y52yl6ca
00:00 - Вступление
00:32 - Дублирование кода: почему с ним борятся
1:13 - Задание 1
2:20 - Задание 2
5:10 - Page Object Pattern Architecture
7:22 - Полезные ссылки
Компьютерная Школа Hillel
site: ithillel.ua
fb: / hillel.it.school
in: / hillel_itschool
tw: / hillel_itschool
ln: / hillel_itschool
yt: / hillelitschool
#КомпьютернаяшколаHillel #pageobject

Пікірлер: 72
@olgakhobina5785
@olgakhobina5785 3 жыл бұрын
Удачный формат - код+видно того, кто рассказывает! Ощущение, будто разговор face to face, а не сухое изложение информации)
@makintosh3543
@makintosh3543 3 жыл бұрын
Использование PageObject облегчает чтение и работу с кодом, - доступно изложена тема!
@irinachub7597
@irinachub7597 3 жыл бұрын
Как же здорово, что представлены наглядные примеры кода! Все понятно и доступно!
@crewsawyer6822
@crewsawyer6822 2 жыл бұрын
I guess it is quite randomly asking but do anybody know of a good site to stream newly released tv shows online?
@aldenezra7277
@aldenezra7277 2 жыл бұрын
@Crew Sawyer Flixportal =)
@crewsawyer6822
@crewsawyer6822 2 жыл бұрын
@Alden Ezra thanks, signed up and it seems like they got a lot of movies there =) I really appreciate it !
@aldenezra7277
@aldenezra7277 2 жыл бұрын
@Crew Sawyer you are welcome =)
@dmitriyplaksin5272
@dmitriyplaksin5272 2 жыл бұрын
толково расписано, спасибо. Помогает на наглядном примере объяснить: "зачем автотестеру знать об инкапсуляции"
@HillelITSchool
@HillelITSchool 2 жыл бұрын
Рады, что было полезно!
@alexpun6757
@alexpun6757 3 жыл бұрын
Спасибо за доступное объяснение! Стало понятнее, куда копать дальше
@IrisKapustina
@IrisKapustina 3 жыл бұрын
Отличное объяснение, очень доступно! Мне понравился "бонус" - проверка, что мы находимся на нужной странице, нужная штука.
@olhaliashchevska8099
@olhaliashchevska8099 3 жыл бұрын
Спасибо за видео. Очень удобный формат (короткие видео) для того, что освежить в памяти основные моменты по Page Object
@DMB2017
@DMB2017 2 жыл бұрын
Спасибо огромное за толковое объяснение! У вас редкий талант доходчиво и наглядно объяснять.
@HillelITSchool
@HillelITSchool 2 жыл бұрын
Раді, що стали в нагоді 💙
@user-hr2zy3sl3x
@user-hr2zy3sl3x 21 күн бұрын
спасибо
@albertkhusnetdinov1254
@albertkhusnetdinov1254 2 жыл бұрын
Супер, здорово объяснил, да еще с примером.
@user-yo1zi7hf3o
@user-yo1zi7hf3o 3 жыл бұрын
Спасибо Hillel и в частности Артуру! Очень структурированно изложена вся информация, видео было полезно
@user-mu1gu1jw5v
@user-mu1gu1jw5v 3 жыл бұрын
Спасибо за объяснение!
@SpLaT1st
@SpLaT1st 2 жыл бұрын
<a href="#" class="seekto" data-time="90">1:30</a> - нет события нажатия на кнопку "Войти". Тест упадет
@eugenkirya9476
@eugenkirya9476 2 жыл бұрын
спасибо, хорошо и доступно объяснили...
@HillelITSchool
@HillelITSchool 2 жыл бұрын
Дякуємо, що дивитесь 💙
@aleksandrposh5198
@aleksandrposh5198 3 жыл бұрын
Хорошее видео.Спасибо
@user-gofkins
@user-gofkins Жыл бұрын
господи, спасибо ОГРОМНОЕ! Пыхтела с этим Page Object часа 2, пока не нашла ваше видео. Пыталась сделать так же, но интуитивно. Застряла на моменте с инициализацией драйверов. ЛАЙК!
@user-gofkins
@user-gofkins Жыл бұрын
P.S Презентация во вложениях к уроку тоже помогла. Это я к тому, что она там не зря ;)
@HillelITSchool
@HillelITSchool Жыл бұрын
Раді, що були корисні 💪
@user-rk1gi7oj9q
@user-rk1gi7oj9q 4 жыл бұрын
Пишите свои варианты тем с которыми не удалось до конца разобраться - разберемся вместе =)
@ivanstrelka3448
@ivanstrelka3448 4 жыл бұрын
Привет. Спасибо за видео. А что за фреймворк гэп? Можешь ссылку скинуть? Спасибо
@user-rk1gi7oj9q
@user-rk1gi7oj9q 4 жыл бұрын
​@@ivanstrelka3448 в данном видео используется Selenium + TestNG. Рекомендую следующим шагом ознакомиться с Selenide - код будет короче, нагляднее. Так же рекомендую поработать с Selenoid - удобно и быстро развернет окружение с браузерами. - testng.org/doc/ - github.com/aerokube/selenoid - www.selenium.dev/
@serjpavlenko
@serjpavlenko 4 жыл бұрын
@@ivanstrelka3448 наверно имелось в виду gebish.org
@ivanstrelka3448
@ivanstrelka3448 4 жыл бұрын
@@serjpavlenko спасибо
@user-ww6dj2wi2x
@user-ww6dj2wi2x Жыл бұрын
<a href="#" class="seekto" data-time="391">6:31</a> А зачем вы в page object кладёте уже данные, когда их надо класть в тесте самом? (admin,changeme). Условия написали длинно, можно и короче раз два условия всего. Заложить бы данные параметризованные и тогда на успешный логин и неуспешный один тест был бы. Не совсем понял почему Вы локаторы не вынесли отдельно в LoginPage, они же тоже могут повторяться.
@serjpavlenko
@serjpavlenko 4 жыл бұрын
if (...) { return true; } else { return false; } это конечно сильно))
@user-rk1gi7oj9q
@user-rk1gi7oj9q 4 жыл бұрын
Код для новичков =) Вы уже переросли этот код =)
@FerraKube
@FerraKube 3 жыл бұрын
для начинающих отличное видео ) Но чем больше углубляться в паттерны автотестов, тем больше творческой работы) PageObject только верхушка , а все интересное внизу))
@warpqa3426
@warpqa3426 4 жыл бұрын
Посмотрел чтобы убедится что я правильно понимаю.
@user-ln9xx3cf8q
@user-ln9xx3cf8q 4 жыл бұрын
Спасибо за видео! Доступные обьяснения на очень нужную тему!
@MrVakial
@MrVakial 4 жыл бұрын
Отличное объяснение!
@user-rk1gi7oj9q
@user-rk1gi7oj9q 4 жыл бұрын
Приятно слышать!
@user-rk1gi7oj9q
@user-rk1gi7oj9q 4 жыл бұрын
Удалоь применить знания?
@MrVakial
@MrVakial 4 жыл бұрын
​@@user-rk1gi7oj9q Да, к тому же я сейчас прохожу интервью и про Page Object Model часто спрашивают, просят подробнее объяснить.
@ZhuGa87
@ZhuGa87 3 жыл бұрын
метод enterUserName и enterPassword принимают на вход стрингу, которая в последствии никак в них не используются. По сути в методах захардкоженные значения "admin" и "changename"... это конфузит.
@seniorfrom3327
@seniorfrom3327 2 жыл бұрын
Тот же вопрос в голове)
@richardjenkins9958
@richardjenkins9958 4 жыл бұрын
Большое спасибо! Вопрос! На <a href="#" class="seekto" data-time="184">3:04</a> Вы говорите про 100-200-300 подобных тестов на разную функциональность. А можно, пожалуйста, примеры такой функциональности? Спасибо!
@user-rk1gi7oj9q
@user-rk1gi7oj9q 4 жыл бұрын
Спасибо, за вопрос Richard. Представьте себе Profile Page - в которой вам необходимо получить отчет о действиях пользователя, изменить права. Добавьте к этому набор дополнительных опций "включить выходные дни", "исключить пустые поля", "разрешить", "запретить". Так же добавьте к этому негативные сценарии и получиться хорошая пачка тестов с совпадающими предварительными шагами.
@ruslanachumachenko7754
@ruslanachumachenko7754 3 жыл бұрын
Есть видео про базовые классы (общие)? Хотелось бы посмотреть пример.
@VladimirTrandafilov
@VladimirTrandafilov 4 жыл бұрын
Почему в классе страницы методы заполнения полей логина и пароля заполняют их не параметрами методов, а захардкожеными значениями (слайд 11)???
@user-rk1gi7oj9q
@user-rk1gi7oj9q 4 жыл бұрын
Спасибо, Владимир - вы правы. Следующее видео «ХардКод» объяснит, как делать лучше. В этом видео все внимание сосредоточено на том как начать применять PageObject и что бы не перегружать его информационно я не акцентировал на этом внимание.
@serjpavlenko
@serjpavlenko 4 жыл бұрын
@@user-rk1gi7oj9q а где это следующее видео можно глянуть?
@romabulava899
@romabulava899 Жыл бұрын
проверять нахождение на целевой странице можно, если писать локаторы отталкиваясь от контейнера: локатор целевой страницы. локатор элемента страницы, тогда мы не нажмем кнопку там где не надо
@vladyslavshkola7486
@vladyslavshkola7486 4 жыл бұрын
Четенько
@user-rk1gi7oj9q
@user-rk1gi7oj9q 4 жыл бұрын
Приятно слышать! Удалось применить знания?
@mariashuliakivska5338
@mariashuliakivska5338 3 жыл бұрын
PageObject классный паттерн, очень наглядно
@nataliias9186
@nataliias9186 4 жыл бұрын
Хороший доклад
@user-rk1gi7oj9q
@user-rk1gi7oj9q 4 жыл бұрын
Спасибо, приятно слышать =)
@andrewyo3374
@andrewyo3374 3 жыл бұрын
Мартин Фаулер в своём описании паттерна PageObject подчеркивает, что он не должен равняться странице: Despite the term "page" object, these objects shouldn't usually be built for each page, but rather for the significant elements on a page
@user-rk1gi7oj9q
@user-rk1gi7oj9q 2 жыл бұрын
Благодарю. Пора выпустить новое видео.
@aleksanterikaansalo
@aleksanterikaansalo 2 жыл бұрын
Нет никаких Мартинов Фаулеров! Выдумки это всё! Есть только Генка из шестого "б", а всё остальное - чистейшей воды вымысел!
@DaddyPrincess
@DaddyPrincess 4 жыл бұрын
Артур, движение указки на слайде не видно к сожалению( Але доклад супер, Дякую!
@user-rk1gi7oj9q
@user-rk1gi7oj9q 4 жыл бұрын
Ruslan Hasiuk спасибо - попробуем что-то придумать)
@andreymaydanyuk8175
@andreymaydanyuk8175 3 жыл бұрын
Ссылки на pastebin, которые забыли вставить в описание к видео Test: pastebin.com/s2MKg0s5 PageObject: pastebin.com/myW0LHSc
@user-rk1gi7oj9q
@user-rk1gi7oj9q 3 жыл бұрын
Благодарю!
@user-rk1gi7oj9q
@user-rk1gi7oj9q 3 жыл бұрын
У нас тут созревает отличное комьюнити =)
@rusnyg
@rusnyg 3 жыл бұрын
Надеюсь эта ветка ещё живая Появился вполне закономерный вопрос, ответа на который, как ни странно, нигде не смог найти... Есть допустим у меня сайдбар, который одинаков на 80% страниц моего приложения. Как хэндлить такую ситуацию? Копипастить в эти самые 80% классов? Было бы логично вынести его в отдельный класс. Но! Что, если у меня таких объектов, как этот сайдбар несколько десятков - хэдеры, футеры, всплывающие окна, строки поиска, просто дублирующиеся на нескольких страницах элементы? Плодить кучу классов, помимо собственно страниц?
@user-rk1gi7oj9q
@user-rk1gi7oj9q 3 жыл бұрын
Хороший вопрос! Коротко - да, я так бы и делал. Если это не сработает или упретесь в какой-то нюанс - пишите новый комментарий - мне будет интересно узнать детали. Удачи!
@vitaliydudarevich3661
@vitaliydudarevich3661 2 жыл бұрын
Как вариант можно вынести все повторяющиеся элементы в один класс и обозвать как-нибудь вроде CommonComponents, MasterPage
@martincatus
@martincatus Жыл бұрын
Вообще ничего не понял🥲 в двух словах это вообще о чем? Если что изучаю автотестирование на питон, но в целом должно же быть что то понятно? Это что то вроде images = pytest.driver.find_elements(By.XPATH, "//tbody//img"), только вместо "//tbody//img", я создаю стороннюю переменную, куда кладу этот локатор? Чтобы при изменении не пришлось менять локатор во всех тестах.
@user-dh8bp9hd3n
@user-dh8bp9hd3n 4 жыл бұрын
А когда уже уйдет образ что айтишники задроты и мальчики зайчики. Можно было одеть рубашку поприличнее , в зал пойти лишний вес спалить и снять эти дурацкие очки хоть на момент записи
@Ixtabish
@Ixtabish 4 жыл бұрын
по ходу у тебя питон вдвое меньше чем ЧСВ.
@iloveand120010
@iloveand120010 4 жыл бұрын
Молодой человек. Тут подают знания, а не внешний вид. Если вам что-то не нравиться то можете смело идти за вином=)
@user-dh8bp9hd3n
@user-dh8bp9hd3n 4 жыл бұрын
@@iloveand120010 парни смотрите видео о программистах от психолога Вероники Степановой . У вас после просмотра есть 2 варианта , ещё сильнее обидеться или сделать выводы, возможно что то поменять.
@user-rk1gi7oj9q
@user-rk1gi7oj9q 4 жыл бұрын
Как сказал бы Фромм - вы батенька по части никрофилии любитель будете...если книги толще колобка вам не по зубам - послушайте того кто уже ознакомился и сложил своё мнение kzbin.info/www/bejne/nIq6hKiaYtKNm9k
Як стати тестувальником? || QA Engineer
3:20
Hillel IT School
Рет қаралды 2,2 М.
The day of the sea 🌊 🤣❤️ #demariki
00:22
Demariki
Рет қаралды 84 МЛН
She ruined my dominos! 😭 Cool train tool helps me #gadget
00:40
Go Gizmo!
Рет қаралды 58 МЛН
We Got Expelled From Scholl After This...
00:10
Jojo Sim
Рет қаралды 65 МЛН
Тестирование REST API || Rest API Testing for beginners
1:02:26
PAGE OBJECT MODEL теорія + практика C# Selenium WebDriver
55:16
Попелюха 👾 Тестування ПЗ
Рет қаралды 4,7 М.
Pytest #6.1: Фикстуры - Основы применения
12:36
Артём Шумейко
Рет қаралды 11 М.
Test Driven Development
30:31
Hillel IT School
Рет қаралды 1 М.
Автотесты с нуля Selenium Java
1:10:08
Oleh Pendrak
Рет қаралды 26 М.
The day of the sea 🌊 🤣❤️ #demariki
00:22
Demariki
Рет қаралды 84 МЛН