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 @@
-
+
+
+
+