diff --git a/.travis.yml b/.travis.yml index 94e46a73..93ff6133 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,43 +1,54 @@ language: php - sudo: false +dist: xenial -cache: - directories: - - $HOME/.composer/cache/files - -php: [5.4, 5.5, 5.6, 7.0, 7.1, 7.2] +services: + - docker -env: - global: - - WEBDRIVER=selenium +php: + - 7.0 + - 7.1 + - 7.2 + - 7.3.6 + - 7.4snapshot matrix: fast_finish: true + allow_failures: + - php: 7.4snapshot include: - - php: 7.0 - env: WEBDRIVER=selenium-remote - sudo: required - services: - - docker - - php: 5.3 - dist: precise - # Force using PHP 5.6 for the test server as PHP 5.3 does not have the builtin webserver - env: MINK_PHP_BIN=~/.phpenv/versions/5.6/bin/php + - php: 5.4 + dist: trusty + - php: 5.5 + dist: trusty + - php: 5.6 + dist: trusty -before_script: - - sh bin/run-"$WEBDRIVER".sh +env: + global: + - DISPLAY=:99.0 - - composer install +cache: + directories: + - $HOME/.composer/cache/files + +install: + - composer install --no-interaction - # Start a webserver for web fixtures. - - vendor/bin/mink-test-server > /dev/null 2>&1 & +before_script: + - mkdir ./logs + - docker run -p 4444:4444 --network=host -v /dev/shm:/dev/shm --shm-size 2g selenium/standalone-firefox:2.53.1 &> ./logs/selenium.log & + - ./vendor/bin/mink-test-server &> ./logs/mink-test-server.log & + - until $(echo | nc localhost 4444); do sleep 1; echo Waiting for Selenium server on port 4444...; done; echo "Selenium server started" + - until $(echo | nc localhost 8002); do sleep 1; echo waiting for PHP server on port 8002...; done; echo "PHP server started" -script: phpunit -v --coverage-clover=coverage.clover +script: + - ./vendor/bin/simple-phpunit -v --coverage-clover=coverage.clover after_script: - wget https://scrutinizer-ci.com/ocular.phar - php ocular.phar code-coverage:upload --format=php-clover coverage.clover after_failure: - - cat /tmp/webdriver_output.txt + - cat ./logs/selenium.log + - cat ./logs/mink-test-server.log diff --git a/README.md b/README.md index 01a9e3ce..de46cb8e 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,29 @@ $> curl -sS http://getcomposer.org/installer | php $> php composer.phar install ``` +Testing +------------ + +1. Start WebDriver + 1. If you have Docker installed, run + ```bash + docker run -p 4444:4444 selenium/standalone-firefox:2.53.1 + ``` + 2. If you do not have Docker, but you have Java + ```bash + curl -L http://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar > selenium-server-standalone-2.53.1.jar + java -jar selenium-server-standalone-2.53.1.jar + ``` +2. Start WebServer by running + ``` bash + ./vendor/bin/mink-test-server + ``` +3. Start PhpUnit + ```bash + composer require --dev phpunit/phpunit + ./vendor/bin/phpunit -v --coverage-clover=coverage.clover + ``` + Copyright --------- diff --git a/bin/run-selenium-remote.sh b/bin/run-selenium-remote.sh deleted file mode 100644 index 9d2205d1..00000000 --- a/bin/run-selenium-remote.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh -set -e - -echo ' Downloading selenium' -docker pull selenium/standalone-firefox:2.53.1 -echo ' Running selenium' -docker run -d -p 4444:4444 --network=host selenium/standalone-firefox:2.53.1 diff --git a/bin/run-selenium.sh b/bin/run-selenium.sh deleted file mode 100644 index e846d3ae..00000000 --- a/bin/run-selenium.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env sh -set -e - -echo ' Starting XVFB' -sh -e /etc/init.d/xvfb start -export DISPLAY=:99.0 - -echo ' Downloading selenium' -curl -L http://selenium-release.storage.googleapis.com/2.52/selenium-server-standalone-2.52.0.jar > selenium.jar -echo ' Running selenium' -java -jar selenium.jar -log /tmp/webdriver.log > /tmp/webdriver_output.txt 2>&1 & diff --git a/composer.json b/composer.json index bda59eae..0ee2ffd7 100644 --- a/composer.json +++ b/composer.json @@ -18,13 +18,11 @@ "homepage": "http://everzet.com" } ], - "require": { - "php": ">=5.3.1", + "php": ">=5.4", "behat/mink": "~1.7@dev", "instaclick/php-webdriver": "~1.1" }, - "require-dev": { "mink/driver-testsuite": "dev-master" }, diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 58a01533..66f0cddd 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -12,7 +12,10 @@ - + + + +