LoginSignup
0
2

More than 5 years have passed since last update.

Dockerで作成したWordpressをCodeceptionでE2Eテストする

Last updated at Posted at 2018-12-15

備忘録として

docker-compose.ymlの設定

version: '3.3'
services:
  codecept:
    image: codeception/codeception
    depends_on:
      - chrome
      - wordpress
    volumes:
      - .:/project

  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    networks:
      main:
        aliases:
          - db.mysql

  wordpress:
    depends_on:
      - db
    volumes:
      - ./:/var/www/html
    image: wordpress:latest
    ports:
      - 80:80
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
    networks:
      main:
        aliases:
          - wordpress.demo

  chrome:
    image: selenium/standalone-chrome-debug
    ports:
      - 4444:4444
      - 5900:5900
    container_name: chrome
    privileged: true
    networks:
      main:
        aliases:
          - selenium.demo

networks:
  main:

volumes:
    db_data: {}

これで一旦Wordpress環境を作る。

docker-compose exec wordpress bashでコンテナ内に入り、
composer require "codeception/codeception" --devでcodeceptionを入れる。

入れ終わったらvendor/bin/codecept init acceptanceを実行する。

codeception.ymlの設定


# suite config
suites:
    acceptance:
        actor: AcceptanceTester
        path: .
        modules:
            enabled:
                - WebDriver:
                    url: http://wordpress.demo/
                    browser: chrome
                    host: chrome
                    window_size: 1920x1200          
                    capabilities:
                        chromeOptions:
                        args: ["--headless", "--disable-gpu"]
                - \Helper\Acceptance
                
extensions:
    enabled: 
    - Codeception\Extension\RunFailed
    - Codeception\Extension\Recorder


params: 
    - env

gherkin: []    

# additional paths
paths:
    tests: tests
    output: tests/_output
    data: tests/_data
    support: tests/_support
    envs: tests/_envs

settings:
    shuffle: false
    lint: true

上記のように設定する。

完了したらば、vendor/bin/codecept runでテストを実行する。

参考

codeception
docker-codeception-example

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2