Laravel 프레임워크 자체가 필요하지 않은 독립형 Laravel Dusk 테스트 슈트입니다.
Laravel Dusk는 표현력이 풍부하고 사용하기 쉬운 브라우저 자동화 및 테스트 API를 제공합니다. 기본적으로 Dusk에서는 컴퓨터에 JDK 또는 Selenium을 설치할 필요가 없습니다. 대신 Dusk는 독립형 Chrome 드라이버를 사용합니다. 그러나 원하는 다른 Selenium 드라이버를 자유롭게 활용할 수 있습니다.
시작하려면 프로젝트에 unglud/dusker Composer 종속성을 추가해야 합니다.
composer require --dev unglud/dusker
다음으로 필요한 모든 파일을 작업 디렉터리에 복사해야 합니다. 아래 명령이 이를 수행합니다. tests
디렉토리를 생성(또는 기존 사용)하고 거기에 파일을 저장합니다. 또한 artisan
콘솔 유틸리티를 프로젝트 루트 디렉터리에 복사합니다. 이 파일이 이미 있으면 덮어쓰게 됩니다!
.env.dusk
파일도 프로젝트 루트에 있으므로 이름을 .env
로 바꾸거나 해당 내용을 기존 파일에 복사해야 합니다.
composer run-script post-install-cmd -d ./vendor/unglud/dusker
이 패키지를 업데이트할 때마다 이러한 파일이 자동으로 업데이트되도록 하려면 composer.json
파일에 다음을 추가하면 됩니다.
"scripts": { "post-install-cmd": [ "DuskerCopyFile::copy" ], "post-update-cmd": [ "DuskerCopyFile::copy" ] }, "extra": { "copy-file": { "vendor/unglud/dusker/src/example/": "tests/", "vendor/unglud/dusker/artisan": "artisan" } }
보시다시피 작업을 단순화하기 위해 .env.dusk
파일이 포함되어 있지 않습니다.
패키지를 설치한 후 루트 프로젝트에서 Artisan 명령을 사용할 수 있습니다. dusk:install
Artisan 명령을 실행하세요:
php artisan dusk:install
이제 테스트를 실행하여 모든 것이 작동하는지 확인하십시오.
php artisan dusk
이 부분 이후에는 Laravel 웹사이트에서 Dusk에 대한 공식 문서를 사용할 수 있습니다. 왜냐하면 Taylor Otwell이 디자인한 대로 정확하게 작동하기 때문입니다.
인증이 필요한 페이지를 테스트하는 경우가 많습니다. 모든 테스트 중에 로그인 화면과의 상호 작용을 피하기 위해 Dusk의 loginAs 메소드를 사용할 수 있습니다. loginAs 메소드는 사용자 login
및 password
허용합니다.
$this->browse(function (Browser $browser) { $browser->loginAs('username', 'password') ->visit('/home'); });
loginAs 메소드를 사용한 후에는 파일 내의 모든 테스트에 대해 사용자 세션이 유지됩니다.
Laravel의 기본 Auth
및 Router
에 대한 액세스 권한이 없으므로 Laravel 없이 사용하므로 로그인 기능을 설정해야 합니다. .env
에서는 LOGIN_ENDPOINT
를 지정해야 합니다. 이는 Dusker가 브라우저에서 액세스할 수 있는 파일을 복사할 공개 디렉터리 경로입니다. 기본적으로 http://example.com/_dusker/login.php
입니다. 두 번째 LOGIN_IMPLEMENTATION
- 인증을 허용하는 프로젝트의 논리를 활용하는 클래스 경로입니다. 어떻게 보일지에 대한 예로 /tests/LoginManagerExample.php
사용할 수 있습니다.
Dusker는 MIT 라이센스에 따라 출시됩니다. 자세한 내용은 번들로 제공되는 LICENSE 파일을 참조하세요.