Laravel Dusk уже близко

от автора

Laravel Dusk

Laravel предоставляет набор вспомогательных методов, которые бывают полезны при написании end-to-end тестов. Они позволяют легко нажать на ссылку, заполнить поля формы и отправить ее. Под капотом Laravel использует компонент Symfony BrowserKit для симуляции поведения веб-браузера. Однако, если в вашем приложении используются JavaScript и AJAX для загрузки страницы, BrowserKit не сможет вам помочь.

Laravel Dusk это новый инструмент, который добавлен в Laravel 5.4 для решения этой проблемы.

Laravel Dusk это инструмент для end-to-end тестирования ваших приложений, в которых используется JavaScript. Его целью является предоставление правильного способа тестирования различных интерактивных функций, таких как клик по кнопке или ссылке, заполнение формы и даже Drag and Drop!

Laravel Dusk использует ChromeDriver и Php-webdriver для выполнения end-to-end тестов. Он также может работать с любым Selenium-браузером. но по умолчанию он поставляется с ChromeDriver, что позволит вам избежать установки JDK или Selenium. Это делает Dusk очень простым в использовании. Вам не нужно проходить через трудоемкий процесс установки Selenium и постоянно запускать сервер. Плюс к этому, Тэйлор Отвел отметил, что тесты в Dusk выполняются быстрее, чем в Selenium.

Dusk позволяет подождать, пока какое-нибудь условие станет истинным или CSS-селектор станет доступен. Все это позволяет лучше тестировать приложения с использованием JavaScript.

Также Dusk автоматически сохраняет скриншоты проваленных тестов! Вы можете увидеть, как выглядела страница и что пошло не так.

Еще одна приятная возможность — хелперы типа loginAs, который позволяет вам авторизоваться и получить сущность пользователя. При этом вы можете открыть любую страницу, где требуется авторизация без необходимости каждый раз входить в аккаунт.

Dusk позволяет открыть несколько окон браузера для одного теста. Это упрощает тестирование приложений, в котором используются сокеты: вы можете выполнять какие-либо действия в одном окне и получить результат в другом.

Отвел также предоставил некоторую информацию о среде тестирования в Dusk. В корне вашего приложения содержится файл .env.dusk, в котором хранятся настройки среды тестирования. Для запуска Dusk-тестов вы не используете PHPUnit напрямую. Вместо этого вы вызывает artisan-команду Dusk, который делает резервную копию вашего файла .env, заменяет его файлом .env.dusk на время выполнения тестов, а после завершения восстанавливает ваш .env файл.

Заметьте, что ваши тесты, написанные с использованием BrowserKit не пропадут при обновлении с Laravel 5.3 до 5.4. Для обратной совместимости есть отдельный пакет — Laravel BrowserKit Testing.

ссылка на оригинал статьи https://habrahabr.ru/post/318704/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *