This media is not supported in your browser
VIEW IN TELEGRAM
Вернулся в Нижегородский офис после стратсессии.❤️
И главной целью на следующие полгода сталаавтоматизация .
Да, я уже говорил о своем отношении к этому ТУТ🤔
Но примеры успешных Fullstack-QA специалистов много, а запрос бизнеса сейчас именно такой, и главное — бизнес готов за это платить.😅
Поэтому с сегодняшнего дня я погружаюсь в автотесты на стеке TS + Playwright (самый популярный на текущий момент).
А так как я люблю всякие марафоны, решил провести еще один — "60 дней с нуля в автоматизацию", где я познаю весь прекрасный мир автотестов, столкнусь с 1000 подводных камней и в итоге смогу стать автоматизатором, или нет.😺
Здесь спамить не буду, дам только итоги. А если интересно посмотреть ежедневные отчеты, задать вопросы и получить поддержку, приглашаю в свое закрытое сообщество QA Profi, где помимо марафона есть чаты взаимопомощи по составлению резюме, прохождению собеседований и обучению профессии.
Там я и мои коллеги помогаем начинающим тестировщикам ответами на все вопросы.👍
Всем отличной недели, а я пошел публиковать отчет о первом дне погружения в автотесты!🎉
И главной целью на следующие полгода стала
Да, я уже говорил о своем отношении к этому ТУТ
Моя позиция, что автотесты проще и быстрее писать разработчикам по четким тест-кейсам, чем когда QA специалистам приходится переключать контекст на работу с кодом.
Но примеры успешных Fullstack-QA специалистов много, а запрос бизнеса сейчас именно такой, и главное — бизнес готов за это платить.
Поэтому с сегодняшнего дня я погружаюсь в автотесты на стеке TS + Playwright (самый популярный на текущий момент).
Моя задача — максимально быстро разобраться с кодовой базой имеющихся автотестов и начать писать их самостоятельно в своей зоне ответственности, а также проконтролировать погружение моих коллег в автоматизацию.
А так как я люблю всякие марафоны, решил провести еще один — "60 дней с нуля в автоматизацию", где я познаю весь прекрасный мир автотестов, столкнусь с 1000 подводных камней и в итоге смогу стать автоматизатором, или нет.
Я специально не готовлюсь, чтобы начать с нуля, так как давно не занимался автоматизацией, а скорее менеджерской работой. Буду все вспоминать в прямом эфире.
Здесь спамить не буду, дам только итоги. А если интересно посмотреть ежедневные отчеты, задать вопросы и получить поддержку, приглашаю в свое закрытое сообщество QA Profi, где помимо марафона есть чаты взаимопомощи по составлению резюме, прохождению собеседований и обучению профессии.
Там я и мои коллеги помогаем начинающим тестировщикам ответами на все вопросы.
Всем отличной недели, а я пошел публиковать отчет о первом дне погружения в автотесты!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18 5❤4👍3 1
Это фотографии с весеннего SQA Days 36, где я выступал с докладом "Как расти и растить с ИПР и матрицей компетенций".
Я уже дважды выступал на ней и сейчас расскажу почему:
🚀 Нетворкинг на максимум!
Когда вы приходите на конференцию в качестве спикера, заводить знакомства становится гораздо проще — люди сами подходят, знакомятся, задают вопросы, предлагают помощь.
Это магия, которая работает! Я бывал на конференциях и как просто гость, но ввиду внутренней стеснительности не решался сам знакомиться с коллегами, из-за чего не получал всю пользу, которую может дать конфа.
🎤 Крутые доклады!
Когда я полтора года назад впервые попал на конференцию, я был выгоревшим человеком, не знавшим, куда двигаться дальше, но несколько докладов меня невероятно зарядили, особенно от Леши @pifagor_mc и Руслана @Ruslan_Ostropolsky. Ребята вдохнули в меня жизнь, и я наконец понял, куда хочу двигаться и главное — как! Об этом, кстати, и был мой доклад на SQA36.
💰 Деньги!
Мало кто об этом говорит, но выступления на конференциях часто поощряются компаниями как деврел-активность, за которую дают премии. Конференции часто проходят в выходные, а выступление — это тоже работа, поэтому часто это х2 зарплата. Конференции проходят в других городах, и поэтому туда нужно ехать, а это командировочные и суточные + жилье в классном отеле как бонус.
🎮 PlayStation 5!
Каким образом это связано? Но этой весной мне её подарили за 2-е место в категории "Лучший доклад", и это было неожиданно и приятно! Спасибо каждому, кто голосовал — благодаря вам я познал прекрасный мир God of War.😅
Поэтому, если давно хотели выступить у вас есть шанс подать заявку до 10.08 по ссылке (меньше недели получается)
Я всех своих коллег подбиваю участвовать в конференциях и митапах, но часто слышу одно и то же: "Мне нечего сказать", "Уже про всё сказали", "Кому это всё интересно?"🙀
Приходите на прямой эфир в этот четверг в 19:00 в этот Telegram-канал, и узнаете, как найти идею для доклада, как наполнить его содержанием, сделать его интересным и полезным. Всё разберем на реальном примере моих докладов!
Ну и, конечно, ответим на все вопросы, которые вы оставите под этим постом. Пишите!!! Ставьте🎉 , если тема для вас актуальна. Увидимся в четверг. ❤️
SQA Days — это конференция для специалистов в обеспечении качества, где QA и тестировщики обмениваются знаниями и опытом, знакомятся и круто проводят время!
Я уже дважды выступал на ней и сейчас расскажу почему:
🚀 Нетворкинг на максимум!
Когда вы приходите на конференцию в качестве спикера, заводить знакомства становится гораздо проще — люди сами подходят, знакомятся, задают вопросы, предлагают помощь.
Это магия, которая работает! Я бывал на конференциях и как просто гость, но ввиду внутренней стеснительности не решался сам знакомиться с коллегами, из-за чего не получал всю пользу, которую может дать конфа.
🎤 Крутые доклады!
Когда я полтора года назад впервые попал на конференцию, я был выгоревшим человеком, не знавшим, куда двигаться дальше, но несколько докладов меня невероятно зарядили, особенно от Леши @pifagor_mc и Руслана @Ruslan_Ostropolsky. Ребята вдохнули в меня жизнь, и я наконец понял, куда хочу двигаться и главное — как! Об этом, кстати, и был мой доклад на SQA36.
💰 Деньги!
Мало кто об этом говорит, но выступления на конференциях часто поощряются компаниями как деврел-активность, за которую дают премии. Конференции часто проходят в выходные, а выступление — это тоже работа, поэтому часто это х2 зарплата. Конференции проходят в других городах, и поэтому туда нужно ехать, а это командировочные и суточные + жилье в классном отеле как бонус.
🎮 PlayStation 5!
Каким образом это связано? Но этой весной мне её подарили за 2-е место в категории "Лучший доклад", и это было неожиданно и приятно! Спасибо каждому, кто голосовал — благодаря вам я познал прекрасный мир God of War.
И все эти плюшки лишь за то, что я рассказал о своей работе, которой и так занимаюсь, просто разложил ее по слайдам и рассказал. ВСЁ!😺
Поэтому, если давно хотели выступить у вас есть шанс подать заявку до 10.08 по ссылке (меньше недели получается)
Я всех своих коллег подбиваю участвовать в конференциях и митапах, но часто слышу одно и то же: "Мне нечего сказать", "Уже про всё сказали", "Кому это всё интересно?"
И знаете, мне есть что ответить на это. Более того, я пригласил организаторов SQA Days на прямой эфир в этот четверг, и мы обсудим всех этих тараканов, которые мешают круто выступить и получить удовольствие от процесса!
А еще, организаторы обещали рассказать об изменениях которые будут в программе осенней конференции SQA Days 37!
Приходите на прямой эфир в этот четверг в 19:00 в этот Telegram-канал, и узнаете, как найти идею для доклада, как наполнить его содержанием, сделать его интересным и полезным. Всё разберем на реальном примере моих докладов!
Ну и, конечно, ответим на все вопросы, которые вы оставите под этим постом. Пишите!!! Ставьте
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2 20❤7🔥7 4👍1
Я к вам с отличными новостями по поводу завтрашней встречи!
Мы с ребятами из SQA договорились дополнительно разыграть онлайн-билет на конференцию, в октябре, среди участников эфира.😅
Условия:
1. Быть подписанным на этот канал: https://t.me/qabigtech и на группу SQAdays: https://t.me/sqadays.
2. Написать свой вопрос к встрече под этим постом для меня или организаторов.
3. Быть на прямом эфире!
Поэтому подписывайтесь, пишите свои вопросы, и увидимся завтра в 19:00!🎉
Мы с ребятами из SQA договорились дополнительно разыграть онлайн-билет на конференцию, в октябре, среди участников эфира.
Условия:
1. Быть подписанным на этот канал: https://t.me/qabigtech и на группу SQAdays: https://t.me/sqadays.
2. Написать свой вопрос к встрече под этим постом для меня или организаторов.
3. Быть на прямом эфире!
Поэтому подписывайтесь, пишите свои вопросы, и увидимся завтра в 19:00!
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Финально допричесываю презентацию🎉
Я расскажу весь свой спикерский опыт, пройдемся от поиска идеи до непосредственного выступления на сцене!😅
Обязательно приходите, стартуем через 30 минут
ссылка на эфир
Я расскажу весь свой спикерский опыт, пройдемся от поиска идеи до непосредственного выступления на сцене!
Обязательно приходите, стартуем через 30 минут
ссылка на эфир
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
А у вас было такое «погружение» на новой работе ?🙀
Чет неделя трудная выдалась, а как у вас? Скидывайте что вас порадовало на неделе, в комментарии, пора выдохнуть и посмеяться🎉
Всех с наступающими выходными😅
#мемница
Чет неделя трудная выдалась, а как у вас? Скидывайте что вас порадовало на неделе, в комментарии, пора выдохнуть и посмеяться
Всех с наступающими выходными
#мемница
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣13 9💯2😁1 1
Media is too big
VIEW IN TELEGRAM
"Если ты не автоматизируешь, зачем знать про автоматизацию?"
Так мне ответили на собеседовании, когда я задал стандартный вопрос: "Что можно автоматизировать, а что нельзя?"
И, конечно, нельзя автоматизировать всё. Во-первых, это накладно и потребует вдвое большего объёма инвестиций на поддержку, во-вторых, сложно и иногда невозможно автоматизировать некоторые проверки, например, проверку удобства использования.😺
Поэтому важно держать баланс между автоматизацией и ручным тестированием на проекте, и главное — не писать автотесты "в стол".
Потому что и такие истории бывают!
Поэтому автоматизация должна быть прозрачной!😅
И бизнес готов платить за это, потому что ручной труд QA специалистов не намного дешевле зарплаты разработчика, а задач у QA, помимо "нажимания кнопок", выше крыши: анализ требований, составление стратегии и плана тестирования, анализ результатов, а также внедрение и влияние на метрики обеспечения качества. Всё это ценно, и пока с этим не может справиться ИИ.
Поэтому базовое понимание процесса автоматизации у QA должно быть, даже если автоматизацию выполняют разработчики. Что именно они автоматизируют, понимать надо, а то мало ли что они там покрывают🤔
По традиции, с вас🎉 , если согласны, а если нет — пишите в комментариях, с чем не согласны, поболтаем.❤️
#воскрессобес
Так мне ответили на собеседовании, когда я задал стандартный вопрос: "Что можно автоматизировать, а что нельзя?"
Мне кажется, это БАЗА. Даже если на проекте ещё нет автотестов, возможно, с тебя они как раз и начнутся. Автоматизация — это не просто модное слово, и внедрять её нужно не потому, что так модно, а потому что это способ снизить рутину ручных проверок и избежать проблем типа: "Я недоглядел!" и "Ой, блин, пропустил!", когда в тысячный раз выполняешь одни и те же тесты.🙀
И, конечно, нельзя автоматизировать всё. Во-первых, это накладно и потребует вдвое большего объёма инвестиций на поддержку, во-вторых, сложно и иногда невозможно автоматизировать некоторые проверки, например, проверку удобства использования.
Поэтому важно держать баланс между автоматизацией и ручным тестированием на проекте, и главное — не писать автотесты "в стол".
Потому что и такие истории бывают!
Автотесты пишут, но при этом они не интегрированы в пайплайны и запускаются у одного какого-то QA/DEV, а остальная команда никак с автотестами не взаимодействует!
Поэтому автоматизация должна быть прозрачной!
И бизнес готов платить за это, потому что ручной труд QA специалистов не намного дешевле зарплаты разработчика, а задач у QA, помимо "нажимания кнопок", выше крыши: анализ требований, составление стратегии и плана тестирования, анализ результатов, а также внедрение и влияние на метрики обеспечения качества. Всё это ценно, и пока с этим не может справиться ИИ.
Поэтому базовое понимание процесса автоматизации у QA должно быть, даже если автоматизацию выполняют разработчики. Что именно они автоматизируют, понимать надо, а то мало ли что они там покрывают
По традиции, с вас
#воскрессобес
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Уже больше двухсот голосов, большое вам спасибо 😅
Для меня это важно в первую очередь потому, что после ревью у меня прибавилась зона ответственности и пришло +3 QA-инженера в команду. Таким образом, у меня теперь будет 11 человек, что уже немало.
Мне повезло — все мои руководители были крутыми, со своими приколами, конечно, но поругать их особенно не за что!
Но я слышал разные истории про руководителей, и мне не хочется допустить эти ошибки, своих хватает 😂
Этот опыт тоже важен, поэтому, пожалуйста, пройдите еще один опрос "За что вы цените своего руководителя". Как и в прошлый раз, проголосовать можно только за одно качество, чтобы не получить размытых цифр, как при мультивыборе, и вы голосовали только за то, что действительно важно.
Когда соберем данные, я их использую для самоанализа и сделаю доклад, где соберу свой опыт становления лидом, что прокачивал, что недостаточно прокачивал и вообще "Что качать, чтобы стать лидом и не выгореть".
Ставьте🎉 , если горите, но не выгораете, и голосуйте в опросе ниже:
Кто еще не голосовал, проголосуйте, пожалуйста, ваш голос очень важен👍
Для меня это важно в первую очередь потому, что после ревью у меня прибавилась зона ответственности и пришло +3 QA-инженера в команду. Таким образом, у меня теперь будет 11 человек, что уже немало.
И я уже сейчас чувствую, что начинают появляться косяки, и мне это не нравится😡
Мне повезло — все мои руководители были крутыми, со своими приколами, конечно, но поругать их особенно не за что!
Но я слышал разные истории про руководителей, и мне не хочется допустить эти ошибки, своих хватает 😂
Кстати, в комментариях коллеги также делились историями про своих руководителей, у которых нет негативных качеств, а только положительные!
Этот опыт тоже важен, поэтому, пожалуйста, пройдите еще один опрос "За что вы цените своего руководителя". Как и в прошлый раз, проголосовать можно только за одно качество, чтобы не получить размытых цифр, как при мультивыборе, и вы голосовали только за то, что действительно важно.
Когда соберем данные, я их использую для самоанализа и сделаю доклад, где соберу свой опыт становления лидом, что прокачивал, что недостаточно прокачивал и вообще "Что качать, чтобы стать лидом и не выгореть".
Ставьте
Please open Telegram to view this post
VIEW IN TELEGRAM
Ровно год назад я опубликовал интервью с Димой, моим коллегой, который в том году пришёл к нам в Лавку 💙 без опыта, стажёром тестировщиком, а год спустя он уже стал Middle QA!😅
В новом видео на канале можно узнать о пути Димы от стажёра до мидла, его типичном рабочем дне, о процессах и команде, а также о плюсах и минусах работы в Яндексе: Смотрите на Ютуб.👍
Для начинающих тестировщиков Дима поделился полезными ссылками, которые сам использовал при обучении и развитии в профессии QA:
- QA-библия
- Бесплатный курс по тестированию на Stepik
- Тренажер начинающего тестировщика (Задача с собеседований)
- Десятичасовой курс по JavaScript
Ставьте🎉 , если понравился формат. В следующем видео — обзор офиса, как и обещал!
В новом видео на канале можно узнать о пути Димы от стажёра до мидла, его типичном рабочем дне, о процессах и команде, а также о плюсах и минусах работы в Яндексе: Смотрите на Ютуб.
Для начинающих тестировщиков Дима поделился полезными ссылками, которые сам использовал при обучении и развитии в профессии QA:
- QA-библия
- Бесплатный курс по тестированию на Stepik
- Тренажер начинающего тестировщика (Задача с собеседований)
- Десятичасовой курс по JavaScript
Диман, ты — красава! В смысле, очень красивый, ну и коллега вроде норм. Продолжай в том же духе, рад с тобой работать!❤️
Ставьте
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
А как у вас проходят встречи по проектам ?🤔
#мемница а это значит, можно немного расслабится, накидайте смешного в комментарии, плиииз🎉
#мемница а это значит, можно немного расслабится, накидайте смешного в комментарии, плиииз
Please open Telegram to view this post
VIEW IN TELEGRAM
😁27🤣9👍2 2
Media is too big
VIEW IN TELEGRAM
Сегодня 14-й день моего погружения в автоматизацию!🎉
За это время я успел написать 2 автотеста. Один уже на проде, а второй проходит через муки код-ревью.
На самом деле тесты на нашем проекте писать несложно благодаря прекрасной организации кода автотестов с помощью Page Object Model.
У каждой страницы приложения есть отдельная папка с тестом, а также вынесены фикстуры, хелперы и весь низкоуровневый код.
Это нереально упрощает вход для новых автоматизаторов, но вместе с этим и усложняет его!😺
Я в начале сказал про муки код-ревью. Оно у нас достаточно жесткое. Нельзя писать автотесты как попало, нужно опираться на КОДЕКС — свод правил, как писать автотесты правильно!
Несоответствие кодексу сразу выявляется AI-ревьюером, который проверяет код на соответствие требованиям. Да, иногда он галлюцинирует, но в большинстве своем выдает дельные замечания!
Поэтому, просматривая записи собеседований автоматизаторов и мок-собесы, я постоянно натыкался на вопросы про POM.
Бизнес заинтересован в том, чтобы даже тесты были быстро читаемыми и легко поддерживаемыми для их масштабирования и поддержки.
Если вы хотите тоже погрузиться в автоматизацию, этой теме нужно посвятить отдельное время в программе обучения. Ведь это не просто Best Practice — это то, что точно спросят на собеседовании.🎉
#воскрессобес
За это время я успел написать 2 автотеста. Один уже на проде, а второй проходит через муки код-ревью.
На самом деле тесты на нашем проекте писать несложно благодаря прекрасной организации кода автотестов с помощью Page Object Model.
У каждой страницы приложения есть отдельная папка с тестом, а также вынесены фикстуры, хелперы и весь низкоуровневый код.
Тесты читать — одно удовольствие. Даже без знаний кода достаточно базового английского!😅
Это нереально упрощает вход для новых автоматизаторов, но вместе с этим и усложняет его!
Я в начале сказал про муки код-ревью. Оно у нас достаточно жесткое. Нельзя писать автотесты как попало, нужно опираться на КОДЕКС — свод правил, как писать автотесты правильно!
Несоответствие кодексу сразу выявляется AI-ревьюером, который проверяет код на соответствие требованиям. Да, иногда он галлюцинирует, но в большинстве своем выдает дельные замечания!
Приятно работать там, где так заботливо подходят к организации автоматизации, ведь так бывает далеко не всегда!🤔
Поэтому, просматривая записи собеседований автоматизаторов и мок-собесы, я постоянно натыкался на вопросы про POM.
Бизнес заинтересован в том, чтобы даже тесты были быстро читаемыми и легко поддерживаемыми для их масштабирования и поддержки.
Если вы хотите тоже погрузиться в автоматизацию, этой теме нужно посвятить отдельное время в программе обучения. Ведь это не просто Best Practice — это то, что точно спросят на собеседовании.
#воскрессобес
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11 9👍5🔥2
Наконец-то завершил видео про нижегородский офис Яндекса.
Также поделился своей историей о том, почему выбрал именно офисный формат, хотя есть возможность удаленной работы.
Видео уже на канале. Приятного просмотра:
Смотреть видео
Как вам видео? Пожалуйста, дайте обратную связь. Сейчас готовлю видео про офис "Лавки" в Москве и хочу сделать его еще лучше!
Как только пост наберет 100 реакций🎉 , выпускаю следующее видео про офис.
Также поделился своей историей о том, почему выбрал именно офисный формат, хотя есть возможность удаленной работы.
Видео уже на канале. Приятного просмотра:
Смотреть видео
Как вам видео? Пожалуйста, дайте обратную связь. Сейчас готовлю видео про офис "Лавки" в Москве и хочу сделать его еще лучше!
Как только пост наберет 100 реакций
Please open Telegram to view this post
VIEW IN TELEGRAM
Вчера отметили выпускной Летней Школы Обеспечения Качества Яндекса 🎉
Три месяца пролетели, как миг, и за это время вы стали для меня по-настоящему родными людьми❤️
Что было:
• Пришло более 3000 заявок в школу.
• Ребята решили непростые отборочные задачи и прошли собеседование.
• Более 70 студентов зачислены после строгого отбора.
• За два месяца реализовали четыре полноценные проекта: автотесты на API, функциональные тесты, скринтесты и автотесты под Android и iOS.
• Писали на четырех языках программирования (Java, Kotlin, SWIFT, JavaScript).
• Меньше чем за месяц реализовали настоящий боевой проект вместе со студентами других школ (фронтенд- и бэкенд-разработчиками, менеджерами, аналитиками, девопсами и дизайнерами).
Над проектом трудились более 50 коллег (менторы, лекторы, собеседующие, менеджеры, методисты).
Сейчас готовим портфолио студентов и начинаем нанимать, то есть работа над ШОКом не заканчивается, а наоборот выходит на самый важный этап!
Скоро проведем ретро и обсудим, что было круто, а что можно улучшить, чтобы в следующем году сделать школу еще более полезной для студентов🎉
… Слезы радости
Три месяца пролетели, как миг, и за это время вы стали для меня по-настоящему родными людьми
Было сложно, я знаю, но вы справились, и я вами горжусь!
Что было:
• Пришло более 3000 заявок в школу.
• Ребята решили непростые отборочные задачи и прошли собеседование.
• Более 70 студентов зачислены после строгого отбора.
• За два месяца реализовали четыре полноценные проекта: автотесты на API, функциональные тесты, скринтесты и автотесты под Android и iOS.
• Писали на четырех языках программирования (Java, Kotlin, SWIFT, JavaScript).
• Меньше чем за месяц реализовали настоящий боевой проект вместе со студентами других школ (фронтенд- и бэкенд-разработчиками, менеджерами, аналитиками, девопсами и дизайнерами).
Над проектом трудились более 50 коллег (менторы, лекторы, собеседующие, менеджеры, методисты).
Вам тоже хочется сказать огромное спасибо, без вас бы ничего не получилось, это точно 🙏
Сейчас готовим портфолио студентов и начинаем нанимать, то есть работа над ШОКом не заканчивается, а наоборот выходит на самый важный этап!
Скоро проведем ретро и обсудим, что было круто, а что можно улучшить, чтобы в следующем году сделать школу еще более полезной для студентов
… Слезы радости
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥32 16❤12🔥3👍1😭1
Media is too big
VIEW IN TELEGRAM
20 день моего погружения в автоматизацию на TS+Playwright и сегодня хочу поговорить про ожидания !
Базово в Selenium используется Polling-based подход:
Selenium постоянно опрашивает DOM каждые 500мс
В Playwright же используется Event-driven подход:
Playwright слушает события браузера и реагирует мгновенно
Подготовил для себя и вас памятку по ожиданиям в PW , сохрани чтобы не потерять :
Явные ожидания элементов на странице:
Ожидания страницы:
Ожидание API запросов: (работает из коробки и постоянно использую в АТ)
Ожидания событий:
И кастомные ожидания с waitForFunction:
На собесах, вопросы про ожидания в автотестах тоже часто присутствуют, поэтому сохраняй, чтобы не забыть !
С вас🎉 если было полезно!
#воскрессобес
Это головная боль автоматизаторов из прошлого, потому что в Selenium были только явные ожидания, которые нужно прописывать и про это душили на собесах.😡
Базово в Selenium используется Polling-based подход:
Selenium постоянно опрашивает DOM каждые 500мс
В Playwright же используется Event-driven подход:
Playwright слушает события браузера и реагирует мгновенно
И это уже жирнючий плюс к скорости PW автотестов!
Подготовил для себя и вас памятку по ожиданиям в PW , сохрани чтобы не потерять :
Явные ожидания элементов на странице:
test('явные ожидания элементов', async ({ page }) => {
await page.goto('https://example.com')
// Ожидание появления элемента
await page.locator('#dynamic-content').waitFor()
// Ожидание видимости
await page.locator('.modal').waitFor({ state: 'visible' })
// Ожидание скрытия
await page.locator('.loading-spinner').waitFor({
state: 'hidden',
timeout: 5000
})
// Ожидание присутствия в DOM
await page.locator('#new-item').waitFor({ state: 'attached' })
// Ожидание удаления из DOM
await page.locator('#removed-item').waitFor({ state: 'detached' })
})
Ожидания страницы:
test('ожидания состояния страницы', async ({ page }) => {
await page.goto('https://example.com')
// Ожидание полной загрузки
await page.waitForLoadState('load')
// Ожидание завершения сетевых запросов
await page.waitForLoadState('networkidle')
// Ожидание готовности DOM
await page.waitForLoadState('domcontentloaded')
// Ожидание конкретного URL
await page.waitForURL('**/dashboard')
})
Ожидание API запросов: (работает из коробки и постоянно использую в АТ)
test('ожидания API запросов', async ({ page }) => {
// Ожидание конкретного запроса
const responsePromise = page.waitForResponse('**/api/users')
await page.locator('#load-users').click()
const response = await responsePromise
expect(response.status()).toBe(200)
// Ожидание запроса с условием
const apiResponse = page.waitForResponse(response =>
response.url().includes('/api/data') && response.status() === 200
)
})
Ожидания событий:
test('ожидания событий браузера', async ({ page }) => {
// Ожидание новой страницы/вкладки
const [newPage] = await Promise.all([
page.context().waitForEvent('page'),
page.locator('#open-new-tab').click()
])
// Ожидание скачивания файла
const [download] = await Promise.all([
page.waitForEvent('download'),
page.locator('#download-btn').click()
])
await download.saveAs('./downloads/' + download.suggestedFilename())
})
И кастомные ожидания с waitForFunction:
test('кастомные ожидания', async ({ page }) => {
await page.goto('https://example.com')
// Ожидание изменения количества элементов
await page.waitForFunction(() => {
return document.querySelectorAll('.item').length > 5
})
})
На собесах, вопросы про ожидания в автотестах тоже часто присутствуют, поэтому сохраняй, чтобы не забыть !
С вас
#воскрессобес
Please open Telegram to view this post
VIEW IN TELEGRAM