웹 애플리케이션이 발전하면서 테스트 자동화는 필수 요소가 되었습니다. 이 글에서는 자동화된 UI 테스트를 위한 Laravel 프레임워크의 강력한 도구인 Laravel Dusk를 살펴보겠습니다. Laravel Dusk는 헤드리스 브라우저를 실행하여 사용자 상호 작용을 시뮬레이션하여 웹 애플리케이션이 예상대로 작동하는지 확인하는 간단한 API를 제공합니다.
자동 UI 테스트에 Laravel Dusk를 사용하면 어떤 이점이 있나요?
- 빠르고 안정적인 테스트: Laravel Dusk는 테스트 인프라를 단순화하는 동시에 테스트 주기를 단축하도록 설계된 빠르고 안정적인 테스트 도구입니다.
- 더 나은 테스트 범위: Laravel Dusk를 사용하여 양식 유효성 검사, 사용자 작업, 인증 등과 같은 애플리케이션의 다양한 측면을 테스트하세요.
- 실제 사용자 상호 작용 시뮬레이션: Laravel Dusk는 실제 사용자 상호 작용을 시뮬레이션하여 애플리케이션을 테스트하므로 애플리케이션이 실제로 예상대로 작동하는지 확인할 수 있습니다.
- 상황 테스트: 다양한 시나리오를 통해 테스트를 수행할 수 있습니다. 즉, 특정 웹 페이지 테스트, 다양한 사용자 역할 및 권한 테스트 등 다양한 시나리오를 테스트할 수 있습니다.
다음으로 Laravel에서 자동화된 UI 테스트를 위해 Laravel Dusk를 사용하는 방법을 살펴보겠습니다.
전제 조건:
- Laravel 5.4 이상
- PHP 7.0 이상
1단계: Laravel Dusk 설치
Laravel Dusk는 Laravel 프레임워크의 일부이므로 먼저 Laravel 프레임워크를 설치해야 합니다. Laravel 프레임워크를 설치하려면 다음 명령을 실행하세요:
$ composer create-project --prefer-dist laravel/laravel project-name
다음으로, 다음 명령을 실행하여 Laravel Dusk를 설치해야 합니다:
$ composer require --dev laravel/dusk
2단계: Dusk 설정
Laravel Dusk가 설치되면 다음 작업을 수행해야 합니다. 테스트를 시작하려면 몇 가지 설정 단계가 필요합니다.
먼저 Dusk에는 테스트용 환경 변수가 포함된 .env 파일의 확장자인 .env.dusk.local 파일이 필요합니다. 다음 방법으로 .env.dusk.local 파일을 생성할 수 있습니다.
$ cp .env .env.dusk.local
테스트 요구 사항에 맞게 .env.dusk.local 파일의 내용을 변경합니다.
Laravel Dusk에는 테스트 중에 사용되는 데이터를 저장하기 위해 SQLite 데이터베이스도 필요합니다. 다음을 실행하여 데이터베이스를 생성할 수 있습니다.
$ touch database/database.sqlite
마지막으로 Dusk가 PHPUnit의 ChromeDriver를 사용하도록 지시하는 AppServiceProvider에 접근자를 등록합니다.
public function register() { if ($this->app->environment('local', 'testing')) { $this->app->register(DuskServiceProvider::class); } }
3단계: 테스트 작성
이제 첫 번째 Dusk 테스트 작성을 시작할 수 있습니다. 테스트를 작성하려면 테스트/브라우저 디렉터리를 만들고 그 안에 새 브라우저 테스트 클래스를 만듭니다.
이 파일은 Artisan Maker를 사용하여 쉽게 생성할 수 있습니다. 다음 명령을 실행하세요:
$ php artisan dusk:make LoginTest
이 명령을 실행하면 LoginTest.php라는 새 테스트 클래스 파일이 생성됩니다. 다음 예제 코드에 따라 이 파일을 업데이트하세요:
<?php namespace TestsBrowser; use LaravelDuskBrowser; use TestsDuskTestCase; class LoginTest extends DuskTestCase { /** * A Dusk test example. * * @return void */ public function testLogin() { $this->browse(function (Browser $browser) { $browser->visit('/login') ->type('email', 'example@domain.com') ->type('password', 'password') ->press('Login') ->assertPathIs('/home'); }); } }
예제에서는 Chrome 브라우저에서 로컬 애플리케이션을 열어 테스트한 후 로그인 페이지에 샘플 데이터를 입력하고 로그인 버튼을 클릭한 다음 리디렉션 경로가 "/home"인지 확인합니다.
마지막으로 다음 명령을 실행하여 테스트를 실행합니다.
php artisan dusk
축하합니다! 이제 Laravel Dusk 시작 튜토리얼을 완료했습니다. Laravel Dusk를 사용하면 자동화된 UI 테스트를 쉽게 작성하여 애플리케이션이 예상대로 작동하는지 확인할 수 있습니다.
위 내용은 Laravel 개발: 자동화된 UI 테스트를 위해 Laravel Dusk를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于单点登录的相关问题,单点登录是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于Laravel的生命周期相关问题,Laravel 的生命周期从public\index.php开始,从public\index.php结束,希望对大家有帮助。

在laravel中,guard是一个用于用户认证的插件;guard的作用就是处理认证判断每一个请求,从数据库中读取数据和用户输入的对比,调用是否登录过或者允许通过的,并且Guard能非常灵活的构建一套自己的认证体系。

laravel中asset()方法的用法:1、用于引入静态文件,语法为“src="{{asset(‘需要引入的文件路径’)}}"”;2、用于给当前请求的scheme前端资源生成一个url,语法为“$url = asset('前端资源')”。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于使用中间件记录用户请求日志的相关问题,包括了创建中间件、注册中间件、记录用户访问等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于中间件的相关问题,包括了什么是中间件、自定义中间件等等,中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制,下面一起来看一下,希望对大家有帮助。

laravel路由文件在“routes”目录里。Laravel中所有的路由文件定义在routes目录下,它里面的内容会自动被框架加载;该目录下默认有四个路由文件用于给不同的入口使用:web.php、api.php、console.php等。

在laravel中,scope用于处理模型中的数据,在模型中可以定义scope开头方法,这类方法可以通过模型直接调用,被称为查询作用域,语法为“public function scope首字母大写单词($query){...}”。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

드림위버 CS6
시각적 웹 개발 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구
