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

Sdílet
Vložit
  • čas přidán 2. 06. 2024
  • Артур Пилюк, 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

Komentáře • 71

  • @olgakhobina5785
    @olgakhobina5785 Před 3 lety +3

    Удачный формат - код+видно того, кто рассказывает! Ощущение, будто разговор face to face, а не сухое изложение информации)

  • @SpLaT1st
    @SpLaT1st Před 2 lety +2

    1:30 - нет события нажатия на кнопку "Войти". Тест упадет

  • @makintosh3543
    @makintosh3543 Před 3 lety +2

    Использование PageObject облегчает чтение и работу с кодом, - доступно изложена тема!

  • @irinachub7597
    @irinachub7597 Před 3 lety +3

    Как же здорово, что представлены наглядные примеры кода! Все понятно и доступно!

    • @crewsawyer6822
      @crewsawyer6822 Před 2 lety

      I guess it is quite randomly asking but do anybody know of a good site to stream newly released tv shows online?

    • @aldenezra7277
      @aldenezra7277 Před 2 lety

      @Crew Sawyer Flixportal =)

    • @crewsawyer6822
      @crewsawyer6822 Před 2 lety

      @Alden Ezra thanks, signed up and it seems like they got a lot of movies there =) I really appreciate it !

    • @aldenezra7277
      @aldenezra7277 Před 2 lety

      @Crew Sawyer you are welcome =)

  • @alexpun6757
    @alexpun6757 Před 3 lety +3

    Спасибо за доступное объяснение! Стало понятнее, куда копать дальше

  • @IrisKapustina
    @IrisKapustina Před 3 lety +2

    Отличное объяснение, очень доступно! Мне понравился "бонус" - проверка, что мы находимся на нужной странице, нужная штука.

  • @user-rk1gi7oj9q
    @user-rk1gi7oj9q Před 4 lety +5

    Пишите свои варианты тем с которыми не удалось до конца разобраться - разберемся вместе =)

    • @ivanstrelka3448
      @ivanstrelka3448 Před 4 lety

      Привет. Спасибо за видео. А что за фреймворк гэп? Можешь ссылку скинуть? Спасибо

    • @user-rk1gi7oj9q
      @user-rk1gi7oj9q Před 4 lety

      ​@@ivanstrelka3448 в данном видео используется Selenium + TestNG. Рекомендую следующим шагом ознакомиться с Selenide - код будет короче, нагляднее. Так же рекомендую поработать с Selenoid - удобно и быстро развернет окружение с браузерами.
      - testng.org/doc/
      - github.com/aerokube/selenoid
      - www.selenium.dev/

    • @serjpavlenko
      @serjpavlenko Před 4 lety +1

      @@ivanstrelka3448 наверно имелось в виду gebish.org

    • @ivanstrelka3448
      @ivanstrelka3448 Před 4 lety

      @@serjpavlenko спасибо

  • @albertkhusnetdinov1254
    @albertkhusnetdinov1254 Před rokem +1

    Супер, здорово объяснил, да еще с примером.

  • @user-yo1zi7hf3o
    @user-yo1zi7hf3o Před 3 lety +2

    Спасибо Hillel и в частности Артуру! Очень структурированно изложена вся информация, видео было полезно

  • @dmitriyplaksin5272
    @dmitriyplaksin5272 Před 2 lety +2

    толково расписано, спасибо. Помогает на наглядном примере объяснить: "зачем автотестеру знать об инкапсуляции"

  • @olhaliashchevska8099
    @olhaliashchevska8099 Před 3 lety +1

    Спасибо за видео. Очень удобный формат (короткие видео) для того, что освежить в памяти основные моменты по Page Object

  • @romabulava899
    @romabulava899 Před rokem

    проверять нахождение на целевой странице можно, если писать локаторы отталкиваясь от контейнера: локатор целевой страницы. локатор элемента страницы, тогда мы не нажмем кнопку там где не надо

  • @DMB2017
    @DMB2017 Před 2 lety +1

    Спасибо огромное за толковое объяснение! У вас редкий талант доходчиво и наглядно объяснять.

  • @user-mu1gu1jw5v
    @user-mu1gu1jw5v Před 3 lety +2

    Спасибо за объяснение!

  • @user-ww6dj2wi2x
    @user-ww6dj2wi2x Před rokem +1

    6:31 А зачем вы в page object кладёте уже данные, когда их надо класть в тесте самом? (admin,changeme). Условия написали длинно, можно и короче раз два условия всего.
    Заложить бы данные параметризованные и тогда на успешный логин и неуспешный один тест был бы.
    Не совсем понял почему Вы локаторы не вынесли отдельно в LoginPage, они же тоже могут повторяться.

  • @FerraKube
    @FerraKube Před 3 lety +2

    для начинающих отличное видео ) Но чем больше углубляться в паттерны автотестов, тем больше творческой работы) PageObject только верхушка , а все интересное внизу))

  • @ZhuGa87
    @ZhuGa87 Před 3 lety +4

    метод enterUserName и enterPassword принимают на вход стрингу, которая в последствии никак в них не используются. По сути в методах захардкоженные значения "admin" и "changename"... это конфузит.

  • @ruslanachumachenko7754
    @ruslanachumachenko7754 Před 3 lety +2

    Есть видео про базовые классы (общие)? Хотелось бы посмотреть пример.

  • @richardjenkins9958
    @richardjenkins9958 Před 4 lety +4

    Большое спасибо! Вопрос! На 3:04 Вы говорите про 100-200-300 подобных тестов на разную функциональность. А можно, пожалуйста, примеры такой функциональности? Спасибо!

    • @user-rk1gi7oj9q
      @user-rk1gi7oj9q Před 4 lety +4

      Спасибо, за вопрос Richard.
      Представьте себе Profile Page - в которой вам необходимо получить отчет о действиях пользователя, изменить права. Добавьте к этому набор дополнительных опций "включить выходные дни", "исключить пустые поля", "разрешить", "запретить". Так же добавьте к этому негативные сценарии и получиться хорошая пачка тестов с совпадающими предварительными шагами.

  • @andrewyo3374
    @andrewyo3374 Před 2 lety +2

    Мартин Фаулер в своём описании паттерна 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 Před 2 lety +1

      Благодарю. Пора выпустить новое видео.

    • @aleksanterikaansalo
      @aleksanterikaansalo Před 2 lety

      Нет никаких Мартинов Фаулеров! Выдумки это всё! Есть только Генка из шестого "б", а всё остальное - чистейшей воды вымысел!

  • @user-ln9xx3cf8q
    @user-ln9xx3cf8q Před 4 lety +4

    Спасибо за видео! Доступные обьяснения на очень нужную тему!

  • @eugenkirya9476
    @eugenkirya9476 Před rokem +1

    спасибо, хорошо и доступно объяснили...

  • @VladimirTrandafilov
    @VladimirTrandafilov Před 4 lety +7

    Почему в классе страницы методы заполнения полей логина и пароля заполняют их не параметрами методов, а захардкожеными значениями (слайд 11)???

    • @user-rk1gi7oj9q
      @user-rk1gi7oj9q Před 4 lety +3

      Спасибо, Владимир - вы правы.
      Следующее видео «ХардКод» объяснит, как делать лучше.
      В этом видео все внимание сосредоточено на том как начать применять PageObject и что бы не перегружать его информационно я не акцентировал на этом внимание.

    • @serjpavlenko
      @serjpavlenko Před 4 lety +1

      @@user-rk1gi7oj9q а где это следующее видео можно глянуть?

  • @user-gofkins
    @user-gofkins Před rokem

    господи, спасибо ОГРОМНОЕ! Пыхтела с этим Page Object часа 2, пока не нашла ваше видео. Пыталась сделать так же, но интуитивно. Застряла на моменте с инициализацией драйверов. ЛАЙК!

    • @user-gofkins
      @user-gofkins Před rokem

      P.S Презентация во вложениях к уроку тоже помогла. Это я к тому, что она там не зря ;)

    • @HillelITSchool
      @HillelITSchool  Před rokem

      Раді, що були корисні 💪

  • @aleksandrposh5198
    @aleksandrposh5198 Před 3 lety +1

    Хорошее видео.Спасибо

  • @warpqa3426
    @warpqa3426 Před 4 lety +3

    Посмотрел чтобы убедится что я правильно понимаю.

  • @DaddyPrincess
    @DaddyPrincess Před 4 lety +3

    Артур, движение указки на слайде не видно к сожалению( Але доклад супер, Дякую!

    • @user-rk1gi7oj9q
      @user-rk1gi7oj9q Před 4 lety

      Ruslan Hasiuk спасибо - попробуем что-то придумать)

  • @serjpavlenko
    @serjpavlenko Před 4 lety +3

    if (...) {
    return true;
    } else {
    return false;
    }
    это конечно сильно))

    • @user-rk1gi7oj9q
      @user-rk1gi7oj9q Před 3 lety +1

      Код для новичков =) Вы уже переросли этот код =)

  • @rusnyg
    @rusnyg Před 3 lety +1

    Надеюсь эта ветка ещё живая
    Появился вполне закономерный вопрос, ответа на который, как ни странно, нигде не смог найти...
    Есть допустим у меня сайдбар, который одинаков на 80% страниц моего приложения.
    Как хэндлить такую ситуацию? Копипастить в эти самые 80% классов?
    Было бы логично вынести его в отдельный класс. Но! Что, если у меня таких объектов, как этот сайдбар несколько десятков - хэдеры, футеры, всплывающие окна, строки поиска, просто дублирующиеся на нескольких страницах элементы? Плодить кучу классов, помимо собственно страниц?

    • @user-rk1gi7oj9q
      @user-rk1gi7oj9q Před 3 lety

      Хороший вопрос!
      Коротко - да, я так бы и делал. Если это не сработает или упретесь в какой-то нюанс - пишите новый комментарий - мне будет интересно узнать детали. Удачи!

    • @vitaliydudarevich3661
      @vitaliydudarevich3661 Před 2 lety

      Как вариант можно вынести все повторяющиеся элементы в один класс и обозвать как-нибудь вроде CommonComponents, MasterPage

  • @MrVakial
    @MrVakial Před 4 lety +1

    Отличное объяснение!

    • @user-rk1gi7oj9q
      @user-rk1gi7oj9q Před 4 lety

      Приятно слышать!

    • @user-rk1gi7oj9q
      @user-rk1gi7oj9q Před 4 lety

      Удалоь применить знания?

    • @MrVakial
      @MrVakial Před 4 lety

      ​@@user-rk1gi7oj9q Да, к тому же я сейчас прохожу интервью и про Page Object Model часто спрашивают, просят подробнее объяснить.

  • @mariashuliakivska5338
    @mariashuliakivska5338 Před 3 lety

    PageObject классный паттерн, очень наглядно

  • @andreymaydanyuk8175
    @andreymaydanyuk8175 Před 3 lety +1

    Ссылки на pastebin, которые забыли вставить в описание к видео
    Test: pastebin.com/s2MKg0s5
    PageObject: pastebin.com/myW0LHSc

  • @martincatus
    @martincatus Před rokem

    Вообще ничего не понял🥲 в двух словах это вообще о чем? Если что изучаю автотестирование на питон, но в целом должно же быть что то понятно? Это что то вроде images = pytest.driver.find_elements(By.XPATH, "//tbody//img"), только вместо "//tbody//img", я создаю стороннюю переменную, куда кладу этот локатор? Чтобы при изменении не пришлось менять локатор во всех тестах.

  • @vladyslavshkola7486
    @vladyslavshkola7486 Před 4 lety +3

    Четенько

    • @user-rk1gi7oj9q
      @user-rk1gi7oj9q Před 4 lety

      Приятно слышать!
      Удалось применить знания?

  • @nataliias9186
    @nataliias9186 Před 4 lety

    Хороший доклад

  • @user-dh8bp9hd3n
    @user-dh8bp9hd3n Před 4 lety +1

    А когда уже уйдет образ что айтишники задроты и мальчики зайчики. Можно было одеть рубашку поприличнее , в зал пойти лишний вес спалить и снять эти дурацкие очки хоть на момент записи

    • @Ixtabish
      @Ixtabish Před 4 lety +3

      по ходу у тебя питон вдвое меньше чем ЧСВ.

    • @iloveand120010
      @iloveand120010 Před 4 lety +2

      Молодой человек. Тут подают знания, а не внешний вид. Если вам что-то не нравиться то можете смело идти за вином=)

    • @user-dh8bp9hd3n
      @user-dh8bp9hd3n Před 4 lety

      @@iloveand120010 парни смотрите видео о программистах от психолога Вероники Степановой . У вас после просмотра есть 2 варианта , ещё сильнее обидеться или сделать выводы, возможно что то поменять.

    • @user-rk1gi7oj9q
      @user-rk1gi7oj9q Před 4 lety

      Как сказал бы Фромм - вы батенька по части никрофилии любитель будете...если книги толще колобка вам не по зубам - послушайте того кто уже ознакомился и сложил своё мнение czcams.com/video/fYWSud-mZew/video.html