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

Поділитися
Вставка
  • Опубліковано 8 лис 2024

КОМЕНТАРІ • 72

  • @dmitriyplaksin5272
    @dmitriyplaksin5272 3 роки тому +2

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

  • @irinachub7597
    @irinachub7597 4 роки тому +3

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

    • @crewsawyer6822
      @crewsawyer6822 3 роки тому

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

    • @aldenezra7277
      @aldenezra7277 3 роки тому

      @Crew Sawyer Flixportal =)

    • @crewsawyer6822
      @crewsawyer6822 3 роки тому

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

    • @aldenezra7277
      @aldenezra7277 3 роки тому

      @Crew Sawyer you are welcome =)

  • @user-gofkins
    @user-gofkins Рік тому

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

    • @user-gofkins
      @user-gofkins Рік тому

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

    • @HillelITSchool
      @HillelITSchool  Рік тому

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

  • @makintosh3543
    @makintosh3543 4 роки тому +2

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

  • @olgakhobina5785
    @olgakhobina5785 4 роки тому +3

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

  • @DMB2017
    @DMB2017 2 роки тому +1

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

    • @HillelITSchool
      @HillelITSchool  2 роки тому

      Раді, що стали в нагоді 💙

  • @alexpun6757
    @alexpun6757 3 роки тому +3

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

  • @ВладиславКривенко-ф8о

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

  • @olhaliashchevska8099
    @olhaliashchevska8099 4 роки тому +1

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

  • @IrisKapustina
    @IrisKapustina 4 роки тому +2

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

  • @ЭммануэльЛой
    @ЭммануэльЛой 4 роки тому +2

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

  • @albertkhusnetdinov1254
    @albertkhusnetdinov1254 2 роки тому +1

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

  • @eugenkirya9476
    @eugenkirya9476 2 роки тому +1

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

    • @HillelITSchool
      @HillelITSchool  2 роки тому

      Дякуємо, що дивитесь 💙

  • @ДенисК-р4й
    @ДенисК-р4й 5 місяців тому

    спасибо

  • @DigitalNomad-j2e
    @DigitalNomad-j2e 5 років тому +5

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

    • @ivanstrelka3448
      @ivanstrelka3448 4 роки тому

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

    • @DigitalNomad-j2e
      @DigitalNomad-j2e 4 роки тому

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

    • @serjpavlenko
      @serjpavlenko 4 роки тому +1

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

    • @ivanstrelka3448
      @ivanstrelka3448 4 роки тому

      @@serjpavlenko спасибо

  • @FerraKube
    @FerraKube 3 роки тому +2

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

  • @SpLaT1st
    @SpLaT1st 2 роки тому +3

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

  • @РусланРозин-м3в
    @РусланРозин-м3в Рік тому +2

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

  • @aleksandrposh5198
    @aleksandrposh5198 4 роки тому +1

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

  • @Анастасия-в6у2ь
    @Анастасия-в6у2ь 5 років тому +4

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

  • @serjpavlenko
    @serjpavlenko 4 роки тому +3

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

    • @DigitalNomad-j2e
      @DigitalNomad-j2e 4 роки тому +1

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

  • @MrVakial
    @MrVakial 4 роки тому +1

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

    • @DigitalNomad-j2e
      @DigitalNomad-j2e 4 роки тому

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

    • @DigitalNomad-j2e
      @DigitalNomad-j2e 4 роки тому

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

    • @MrVakial
      @MrVakial 4 роки тому

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

  • @romabulava899
    @romabulava899 2 роки тому

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

  • @mariashuliakivska5338
    @mariashuliakivska5338 4 роки тому

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

  • @ZhuGa87
    @ZhuGa87 3 роки тому +5

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

    • @seniorfrom3327
      @seniorfrom3327 2 роки тому

      Тот же вопрос в голове)

  • @ruslanachumachenko7754
    @ruslanachumachenko7754 4 роки тому +2

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

  • @warpqa3426
    @warpqa3426 5 років тому +3

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

  • @richardjenkins9958
    @richardjenkins9958 5 років тому +4

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

    • @DigitalNomad-j2e
      @DigitalNomad-j2e 5 років тому +4

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

  • @nataliias9186
    @nataliias9186 4 роки тому

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

    • @DigitalNomad-j2e
      @DigitalNomad-j2e 4 роки тому

      Спасибо, приятно слышать =)

  • @andreymaydanyuk8175
    @andreymaydanyuk8175 4 роки тому +1

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

    • @DigitalNomad-j2e
      @DigitalNomad-j2e 4 роки тому

      Благодарю!

    • @DigitalNomad-j2e
      @DigitalNomad-j2e 4 роки тому

      У нас тут созревает отличное комьюнити =)

  • @rusnyg
    @rusnyg 3 роки тому +1

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

    • @DigitalNomad-j2e
      @DigitalNomad-j2e 3 роки тому

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

    • @vitaliydudarevich3661
      @vitaliydudarevich3661 3 роки тому

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

  • @vladyslavshkola7486
    @vladyslavshkola7486 5 років тому +3

    Четенько

    • @DigitalNomad-j2e
      @DigitalNomad-j2e 4 роки тому

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

  • @andrewyo3374
    @andrewyo3374 3 роки тому +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

    • @DigitalNomad-j2e
      @DigitalNomad-j2e 3 роки тому +1

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

    • @aleksanterikaansalo
      @aleksanterikaansalo 2 роки тому

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

  • @DaddyPrincess
    @DaddyPrincess 5 років тому +3

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

    • @DigitalNomad-j2e
      @DigitalNomad-j2e 5 років тому

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

  • @VladimirTrandafilov
    @VladimirTrandafilov 5 років тому +7

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

    • @DigitalNomad-j2e
      @DigitalNomad-j2e 5 років тому +3

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

    • @serjpavlenko
      @serjpavlenko 4 роки тому +1

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

  • @martincatus
    @martincatus Рік тому

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

  • @АлександрТрубицкий-ц1о

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

    • @Ixtabish
      @Ixtabish 5 років тому +3

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

    • @iloveand120010
      @iloveand120010 5 років тому +2

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

    • @АлександрТрубицкий-ц1о
      @АлександрТрубицкий-ц1о 5 років тому

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

    • @DigitalNomad-j2e
      @DigitalNomad-j2e 5 років тому

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