バージョン等
検証したアプリケーションのバージョンを記載しています。
名称 | バージョン |
---|---|
Laravel | 5.6.35 |
PHP | 7.2.0 |
概要
- Seleniumのように、自動でUIテストを行いたい
- CI等でもUIテストを行いたい
手順
Github連携
-
https://circleci.com/ でGithubアカウントでログイン後、
ADD_PROJECT
でリポジトリを追加してください -
PullRequest等行うと自動でCIが実行されます。 (設定ファイルがなければ実行しません)
Project設定
-
dusk
をインストール$ composer install laravel/dusk
-
/tests/Browser/
にテストケースを追加 -
テストを実行
$ php artisan dusk
CI設定
[LravelProject]/.circleci/config.yml
# PHP CircleCI 2.0 configuration file
version: 2
jobs:
build:
docker:
- image: circleci/php:7.1-jessie-node-browsers
environment:
APP_ENV: circleci
APP_DEBUG: true
DB_CONNECTION: sqlite
working_directory: ~/repo
steps:
- checkout
- run: sudo apt install -y libsqlite3-dev zlib1g-dev
- run: sudo composer self-update
- restore_cache:
keys:
- v1-dependencies-{{ checksum "composer.json" }}
- v1-dependencies-
- run: composer install -n --prefer-dist
- save_cache:
paths:
- ./vendor
key: v1-dependencies-{{ checksum "composer.json" }}
- run: touch database/database.sqlite
- run: php artisan migrate
- run:
name: Start Chrome Driver
command: ./vendor/laravel/dusk/bin/chromedriver-linux
background: true
- run:
name: Run Laravel Server
command: php artisan serve
background: true
- run: php artisan dusk
解説(一部だけ)
Chrome Driver の開始
config.yml
- run:
name: Start Chrome Driver
command: ./vendor/laravel/dusk/bin/chromedriver-linux
background: true
WebServerの開始
config.yml
- run:
name: Run Laravel Server
command: php artisan serve
background: true
テストの実行
config.yml
- run: php artisan dusk
最後に
あとはPushするだけ。
以上