Тёмный

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

Senior Tester | Евгений Окулик
Подписаться 6 тыс.
Просмотров 5 тыс.
50% 1

Опубликовано:

 

26 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 36   
@klimtro
@klimtro 15 дней назад
спасибо, большое Евгений. Очень легко и понятно было. смотрим дальше.
@sapfire65
@sapfire65 6 месяцев назад
Красиво Евгений! Я рад что это наконец 12 минут _)) Ритмичненько / весело / просто. Отличный формат. Ну и конечно содержание интересное. Пили ещё!
@SeniorTester
@SeniorTester 6 месяцев назад
12 минут и минимум информации. Остальные видео по playwright будут точно дольше, так как в 12 минут сложно впихнуть толковую информацию. Разве что раздробить безбожно.
@xpaladin4568
@xpaladin4568 7 месяцев назад
Спасибо за видео, в русегменте о плейрайте почти ничего нет, продолжай, думаю, что для многих будет актуально)
@elgambrero
@elgambrero 7 месяцев назад
Есть мой курс на степике )
@SeniorTester
@SeniorTester 7 месяцев назад
Я вот тоже очень мало встречал информации, поэтому и решил, что эту тему нужно раскрывать
@vladberezovskiy7031
@vladberezovskiy7031 7 месяцев назад
Спасибо за видео, надеюсь что ты в дальнейшем покажешь более серьезный проект на Playwright))
@SeniorTester
@SeniorTester 7 месяцев назад
Конечно. Это так, вводное видео
@BeyondKayne
@BeyondKayne 7 месяцев назад
Годнота, бодренькая подача!
@SeniorTester
@SeniorTester 7 месяцев назад
Спасибо
@gtfom8825
@gtfom8825 7 месяцев назад
Очень круто! В СНГ сообществе нет годных каналов по автоматизации на Python. Желаю успехов! Сними, пожалуйста, видео про использование асинхронных функций в авто-тесте в миксе с синхронными
@ПавелГорюнов-п3в
@ПавелГорюнов-п3в 7 месяцев назад
Супер , Спасибо!
@SeniorTester
@SeniorTester 7 месяцев назад
Пожалуйста!
@user-kz1rq5wd6n
@user-kz1rq5wd6n 2 месяца назад
Евгений, подскажите, не оказывались ли вы в ситуации, когда средствами Playwright необходимо закрыть окно печати (print preview) в Chrome? В моем случае при нажатии на кнопку в киоске печатается талон, в рамках теста сама печать не требуется, но требуется сделать скриншот и вернуться в киоск (отлично подошло бы нажатие кнопки "отмена" или клавиши Esc). Код страницы с формой печати напичкан shadow DOM элементами (т.е. просто так в них не прицелиться, и потому не удается нажать на кнопку "Отмена", например), попытки переключиться на окно и отправить событие нажатия клавиши Esc тоже не помогает. Задавал пару разных аргументов для браузер менеджера (типа -disable-print-preview или --kiosk-printing), о в итоге либо print preview не отображается (и никаких тебе скриншотов), либо вместо print preview открывается интерфейс печати ОС... =\
@SeniorTester
@SeniorTester 2 месяца назад
Это нужно копать. Необычный сценарий
@user-kz1rq5wd6n
@user-kz1rq5wd6n Месяц назад
@@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 Месяц назад
@user-kz1rq5wd6n новая вкладка не отображается потому что это не вкладка. Это элемент браузера и средства автоматизации типа селениум и playwright к нему доступа не имеют. Честно говоря, у меня даже нет идей в какую сторону копать
@АлександрВощило-з7к
@АлександрВощило-з7к 7 месяцев назад
А ведь можно прям в одном проекте из одного фала с тестами запускать и тесты под селениум и тесты под плейрайт, верно? Как-то сразу думается о всяких кнопках с уникальным названием, но с одинаковыми локаторами, кликнуть по которым можно только через порядковый номер в массиве. Хочется попробовать🙂
@SeniorTester
@SeniorTester 7 месяцев назад
В принципе можно, ага
@AlexandraKuzmenkova-p4x
@AlexandraKuzmenkova-p4x 3 месяца назад
Привет, я совсем новичок, пробовала воспроизвести ваш пример, что-то через терминал у меня не находит мой тест, пишет 0 коллекций, а через кнопки делает успешно, а чем может быть проблема?
@SeniorTester
@SeniorTester 3 месяца назад
Скорее всего, вы назаали или тестовую функцию или файл не на test_ Посмотрите моё видео про pytest
@arseaman6473
@arseaman6473 6 месяцев назад
А как фреймворк на плейрайт запускать через Selenium Grid? Нужно всё равно импортировать селениум чтобы указать IP и порт контейнера с Гридом?
@SeniorTester
@SeniorTester 6 месяцев назад
А для чего селениум грид, если мы используем playwright? Думаю, если и есть желание так заморочится, то это будет сложнее. Ведь в playwright мы указываем в каком браузере запускать, с помощью аргументов для pytest. Но playwright не умеет обращаться к бразеру по IP.
@arseaman6473
@arseaman6473 6 месяцев назад
@@SeniorTester Значит получается так, что он не всегда подходит для использования. У меня проект лежит в репозитории Ажура и там же собирается пайплайн,на ВМ запущено 2 контейнера: Грид и Аллюр Репортс. Естественно весь проект на селениуме. Получается,что переписать текущий проект на плейрайт с такой схемой не выйдет? Мы же в конфтесте указываем настройки браузера и там же параметры удалённого браузера в контейнере. Я к тому,что плейрайт так не умеет пока?
@SeniorTester
@SeniorTester 6 месяцев назад
Плейрайт умеет запускать в нескольких браузерах без всяких настроек в коде. То есть, просто-напросто, в большинстве случаев грид не нужен. Но если нужно тестить не на последних версиях браузеров, тогда нужна ферма, но как её лучше обустроить, пока что я не знаю
@redazaki297
@redazaki297 7 месяцев назад
Интересно) Только не совсем понимаю, зачем использовать пайчарм если есть вскод в котором плейрайт отлично себя чувствует, плюс всякие конфиги, режимы отладки, трассировка, кроссбраузерность)
@SeniorTester
@SeniorTester 7 месяцев назад
IDE каждый выбирает по своим предпочтениям. Мне больше нравится PyCharm.
@xpaladin4568
@xpaladin4568 7 месяцев назад
Классный комментарий! Только не совсем понимаю зачем использовать вс код, когда есть пайчарм)
@redazaki297
@redazaki297 7 месяцев назад
не правильно сформулировал свои мысли) Полностью согласен, насчет IDE) У вскода есть расширения с помощью которых удобно взаимодействовать с playwright,(такие как запись действий в браузере, trace viewer.) Соответственно, вопрос, можно ли как то это все перетянуть в пайчарм и как с этим взаимодействовать? Благодарю) @@SeniorTester
@SeniorTester
@SeniorTester 7 месяцев назад
А оно нормально записывает действия или генерит кучу лишнего кода? Не пробовал, но обычно такие штуки генерят кучу лишнего
@romanmovchan8614
@romanmovchan8614 7 месяцев назад
Думал обычно используют VScode i JS для Playwright.
@vladshambaryan8852
@vladshambaryan8852 4 месяца назад
Мне кажется playwright отменяет selenium или я не прав?
@SeniorTester
@SeniorTester 4 месяца назад
Здесь только время покажет.
@moonkushhh
@moonkushhh 6 месяцев назад
Очень класснок вступительное видео, а в что по вашему мнению более прогрессивное playwright или selenium, есть ли что-то в чём selenium лучше playwright-а?
@SeniorTester
@SeniorTester 6 месяцев назад
Ну есть некоторые вещи, которые в селениуме удобнее и понятнее для новичка, работа с вкладками браузера, например. Но, конечно, в playwright больше функций и это делает его лучше. Но если нужно научиться базовому автотестированию, я бы начинал с selenium, а потом осваивал playwright
Далее
🎙ПЕСНИ ВЖИВУЮ от КВАШЕНОЙ
3:05:21
Avaz Oxun - Turqi sovuq kal
14:50
Просмотров 885 тыс.
Kenji's Sushi Shop Showdown - Brawl Stars Animation
01:55
Login and Scrape Data with Playwright and Python
10:22
Просмотров 114 тыс.
🎙ПЕСНИ ВЖИВУЮ от КВАШЕНОЙ
3:05:21