Playwright на Python - первые тесты. Современная АЛЬТЕРНАТИВА SELENIUM

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 พ.ย. 2024

ความคิดเห็น • 38

  • @sapfire65
    @sapfire65 8 หลายเดือนก่อน +2

    Красиво Евгений! Я рад что это наконец 12 минут _)) Ритмичненько / весело / просто.
    Отличный формат. Ну и конечно содержание интересное. Пили ещё!

    • @SeniorTester
      @SeniorTester  8 หลายเดือนก่อน

      12 минут и минимум информации. Остальные видео по playwright будут точно дольше, так как в 12 минут сложно впихнуть толковую информацию. Разве что раздробить безбожно.

  • @xpaladin4568
    @xpaladin4568 9 หลายเดือนก่อน +4

    Спасибо за видео, в русегменте о плейрайте почти ничего нет, продолжай, думаю, что для многих будет актуально)

    • @elgambrero
      @elgambrero 9 หลายเดือนก่อน +2

      Есть мой курс на степике )

    • @SeniorTester
      @SeniorTester  9 หลายเดือนก่อน +3

      Я вот тоже очень мало встречал информации, поэтому и решил, что эту тему нужно раскрывать

  • @klimtro
    @klimtro 2 หลายเดือนก่อน

    спасибо, большое Евгений. Очень легко и понятно было. смотрим дальше.

  • @elleamo92
    @elleamo92 หลายเดือนก่อน

    спасибо за видео! на данный момент в связи со спецификой проекта перехожу с Cypress на Playwright c Python, пока полет нормальный)

  • @dimageorgiev5798
    @dimageorgiev5798 หลายเดือนก่อน

    спасибо не останавливайтесь

  • @vladberezovskiy7031
    @vladberezovskiy7031 9 หลายเดือนก่อน

    Спасибо за видео, надеюсь что ты в дальнейшем покажешь более серьезный проект на Playwright))

    • @SeniorTester
      @SeniorTester  9 หลายเดือนก่อน

      Конечно. Это так, вводное видео

  • @gtfom8825
    @gtfom8825 9 หลายเดือนก่อน

    Очень круто! В СНГ сообществе нет годных каналов по автоматизации на Python. Желаю успехов!
    Сними, пожалуйста, видео про использование асинхронных функций в авто-тесте в миксе с синхронными

  • @BeyondKayne
    @BeyondKayne 9 หลายเดือนก่อน +1

    Годнота, бодренькая подача!

    • @SeniorTester
      @SeniorTester  9 หลายเดือนก่อน

      Спасибо

  • @ПавелГорюнов-п3в
    @ПавелГорюнов-п3в 9 หลายเดือนก่อน

    Супер , Спасибо!

    • @SeniorTester
      @SeniorTester  9 หลายเดือนก่อน

      Пожалуйста!

  • @user-kz1rq5wd6n
    @user-kz1rq5wd6n 4 หลายเดือนก่อน

    Евгений, подскажите, не оказывались ли вы в ситуации, когда средствами Playwright необходимо закрыть окно печати (print preview) в Chrome?
    В моем случае при нажатии на кнопку в киоске печатается талон, в рамках теста сама печать не требуется, но требуется сделать скриншот и вернуться в киоск (отлично подошло бы нажатие кнопки "отмена" или клавиши Esc).
    Код страницы с формой печати напичкан shadow DOM элементами (т.е. просто так в них не прицелиться, и потому не удается нажать на кнопку "Отмена", например), попытки переключиться на окно и отправить событие нажатия клавиши Esc тоже не помогает.
    Задавал пару разных аргументов для браузер менеджера (типа -disable-print-preview или --kiosk-printing), о в итоге либо print preview не отображается (и никаких тебе скриншотов), либо вместо print preview открывается интерфейс печати ОС... =\

    • @SeniorTester
      @SeniorTester  4 หลายเดือนก่อน

      Это нужно копать. Необычный сценарий

    • @user-kz1rq5wd6n
      @user-kz1rq5wd6n 3 หลายเดือนก่อน

      @@SeniorTester
      В одном из чатов предложили глянуть Print Dialogs в документации к Playwright
      Но print preview в хроме это походу ни dialog, ни popup, ни что-либо подобное.
      Не ловится ни через .wait_for_url, ни .wait_for_function, ни .wait_for_selector…
      В shadow DOM к кнопкам 'Print'/'Cancel' тоже не удается пробиться.
      Причем, если принудительно прописать фиксацию в терминале списка текущих открытых вкладок браузера на разных этапах теста, там не будет ничего, кроме уже открытых страниц. И при появлении окна печати, никаких новых вкладок не фиксируется.
      Не может же окно печати открываться в параллельном контексте? И вообще быть настолько недоступным? Или может?))
      Причем, если окно печати в Chrome можно, например, вызвать через инъекцию JS, типа: page.evaluate("window.print()"), то закрыть это дело так же через JS не выйдет,
      пробовал
      и window.close(),
      и KeyboardEvent('keydown', {'key': 'Escape'}),
      и document.querySelector('button[aria-label="Cancel"]')
      Были идеи “подняться на уровень повыше” с библой pyautogui и методом в духе .keyboard.press("esc") или с subprocess и созданием .ahk файла и нажатиями кнопок… Ни в какую.
      Это фиаско)

    • @SeniorTester
      @SeniorTester  3 หลายเดือนก่อน

      @user-kz1rq5wd6n новая вкладка не отображается потому что это не вкладка. Это элемент браузера и средства автоматизации типа селениум и playwright к нему доступа не имеют. Честно говоря, у меня даже нет идей в какую сторону копать

  • @arseaman6473
    @arseaman6473 8 หลายเดือนก่อน

    А как фреймворк на плейрайт запускать через Selenium Grid? Нужно всё равно импортировать селениум чтобы указать IP и порт контейнера с Гридом?

    • @SeniorTester
      @SeniorTester  8 หลายเดือนก่อน +1

      А для чего селениум грид, если мы используем playwright?
      Думаю, если и есть желание так заморочится, то это будет сложнее. Ведь в playwright мы указываем в каком браузере запускать, с помощью аргументов для pytest. Но playwright не умеет обращаться к бразеру по IP.

    • @arseaman6473
      @arseaman6473 8 หลายเดือนก่อน

      @@SeniorTester Значит получается так, что он не всегда подходит для использования. У меня проект лежит в репозитории Ажура и там же собирается пайплайн,на ВМ запущено 2 контейнера: Грид и Аллюр Репортс. Естественно весь проект на селениуме. Получается,что переписать текущий проект на плейрайт с такой схемой не выйдет? Мы же в конфтесте указываем настройки браузера и там же параметры удалённого браузера в контейнере. Я к тому,что плейрайт так не умеет пока?

    • @SeniorTester
      @SeniorTester  8 หลายเดือนก่อน +1

      Плейрайт умеет запускать в нескольких браузерах без всяких настроек в коде. То есть, просто-напросто, в большинстве случаев грид не нужен. Но если нужно тестить не на последних версиях браузеров, тогда нужна ферма, но как её лучше обустроить, пока что я не знаю

  • @AlexandraKuzmenkova-p4x
    @AlexandraKuzmenkova-p4x 5 หลายเดือนก่อน

    Привет, я совсем новичок, пробовала воспроизвести ваш пример, что-то через терминал у меня не находит мой тест, пишет 0 коллекций, а через кнопки делает успешно, а чем может быть проблема?

    • @SeniorTester
      @SeniorTester  5 หลายเดือนก่อน

      Скорее всего, вы назаали или тестовую функцию или файл не на test_
      Посмотрите моё видео про pytest

  • @romanmovchan8614
    @romanmovchan8614 9 หลายเดือนก่อน

    Думал обычно используют VScode i JS для Playwright.

    • @SeniorTester
      @SeniorTester  9 หลายเดือนก่อน

      Playwright создал библиотеки для разных языков и python один из них

  • @АлександрВощило-з7к
    @АлександрВощило-з7к 9 หลายเดือนก่อน

    А ведь можно прям в одном проекте из одного фала с тестами запускать и тесты под селениум и тесты под плейрайт, верно? Как-то сразу думается о всяких кнопках с уникальным названием, но с одинаковыми локаторами, кликнуть по которым можно только через порядковый номер в массиве. Хочется попробовать🙂

    • @SeniorTester
      @SeniorTester  9 หลายเดือนก่อน

      В принципе можно, ага

  • @vladshambaryan8852
    @vladshambaryan8852 6 หลายเดือนก่อน

    Мне кажется playwright отменяет selenium или я не прав?

    • @SeniorTester
      @SeniorTester  6 หลายเดือนก่อน

      Здесь только время покажет.

  • @redazaki297
    @redazaki297 9 หลายเดือนก่อน

    Интересно)
    Только не совсем понимаю, зачем использовать пайчарм если есть вскод в котором плейрайт отлично себя чувствует, плюс всякие конфиги, режимы отладки, трассировка, кроссбраузерность)

    • @SeniorTester
      @SeniorTester  9 หลายเดือนก่อน +1

      IDE каждый выбирает по своим предпочтениям. Мне больше нравится PyCharm.

    • @xpaladin4568
      @xpaladin4568 9 หลายเดือนก่อน +1

      Классный комментарий! Только не совсем понимаю зачем использовать вс код, когда есть пайчарм)

    • @redazaki297
      @redazaki297 9 หลายเดือนก่อน

      не правильно сформулировал свои мысли)
      Полностью согласен, насчет IDE)
      У вскода есть расширения с помощью которых удобно взаимодействовать с playwright,(такие как запись действий в браузере, trace viewer.)
      Соответственно, вопрос, можно ли как то это все перетянуть в пайчарм и как с этим взаимодействовать?
      Благодарю)
      @@SeniorTester

    • @SeniorTester
      @SeniorTester  9 หลายเดือนก่อน

      А оно нормально записывает действия или генерит кучу лишнего кода? Не пробовал, но обычно такие штуки генерят кучу лишнего

  • @moonkushhh
    @moonkushhh 8 หลายเดือนก่อน

    Очень класснок вступительное видео, а в что по вашему мнению более прогрессивное playwright или selenium, есть ли что-то в чём selenium лучше playwright-а?

    • @SeniorTester
      @SeniorTester  8 หลายเดือนก่อน +1

      Ну есть некоторые вещи, которые в селениуме удобнее и понятнее для новичка, работа с вкладками браузера, например.
      Но, конечно, в playwright больше функций и это делает его лучше.
      Но если нужно научиться базовому автотестированию, я бы начинал с selenium, а потом осваивал playwright