Найти тему
CTO Pro IT & .NET

Playwright - библиотека автоматизации UI-тестов

Подписывайтесь также на мой Телеграм!

Сегодня хотелось бы рассказать о кроссбраузерной, кроссплатформенной, кроссязыковой (очень много "кросс") библиотеке для автоматизации 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), документация хорошая. Рекомендую!