Подписывайтесь также на мой Телеграм!
Сегодня хотелось бы рассказать о кроссбраузерной, кроссплатформенной, кроссязыковой (очень много "кросс") библиотеке для автоматизации UI-тестов с открытым исходным кодом Playwright. С этой библиотекой я познакомился, посмотрев очередное видео от Microsoft и понял, что как минимум она заслуживает внимания. Теперь пользуюсь ей. Если инструмент сделал Microsoft — значит он будет как минимум не хуже аналогов.
Некоторое время назад я пользовался Selenium и в том числе тестировщики в моей команде умели на нем делать тесты, изучив немного C#. Playwright, кажется, более удобным, функциональным и не сложнее, а то и проще, в использовании.
Что мне нравится в этой библиотеке:
1. Писать тесты можно на разных языках: TypeScript, JavaScript, Python, Java и, конечно же, C# .NET. То есть это история не только про .NET;
2. Можно сконфигурировать запуск тестов в различных браузерах, что очень полезно: Chromium (Desktop Chrome), Firefox, Webkit (Desktop Safari), Mobile Chrome, Mobile Safari, Microsoft Edge. Причем можно настроить тесты как с физическим запуском браузера, так и без (тесты отработают в специальном движке);
3. Playwright автоматически ждет когда станут доступными (зарендерятся) элементы на странице, с использованием которых написаны тесты (например кнопка, на которую тест должен нажать) прежде чем производить действия;
4. Можно настроить тесты так, чтобы в результате их прогона Playwright записывал трейсы выполнения (то есть можно ходить вперед и назад по каждому действию теста — есть специальная тулза Trace Viewer), скриншоты того, как тест проходил, и даже видео того, как Playwright нажимал на кнопочки и заполнял поля и что в итоге получалось. Понятно, что такая информация занимает место, но при разборе упавших тестов может быть крайне полезной;
5. Тесты можно запускать параллельно;
6. Есть специальный инструмент для генерации кода тестов — запускаете инструмент, тыкаете в кнопочки — генерится тест! Остается немного почистить и параметризовать;
7. В .NET приложениях можно запускать тесты через MS Test, NUnit, xUnit (без параллельных тестов по каким-то ограничениям).
В общем инструмент отличный и судя по сайту достаточно большие компании им пользуются.
Контента в сети по Playwright много (вот, например, видео как тестировать приложения на Blazor), документация хорошая. Рекомендую!