Ja, ist es möglich, laufen Codeception-Tests, einschließlich Akzeptanztests, die mit WebDriver ausgeführt werden, auf Travis CI.
Es ist possible to run your tests with a real browser on Travis, aber es ist am einfachsten, einen kopflosen Browser zu verwenden, da Travis auf einem kopflosen Rechner läuft. PhantomJS ist perfekt dafür, und es kommt vorinstalliert mit Travis CI Build Bootstrap.
Um die Tests mit PhantomJS ausführen, müssen Sie das Modul WebDriver wie dies in Ihrer .yml
Codeception Konfigurationsdatei konfigurieren:
modules:
config:
WPWebDriver:
url: 'http://127.0.0.1:8888'
browser: phantomjs
Die URL wichtig ist. Ich habe festgestellt, dass der Versuch, localhost
anstelle von 127.0.0.1
zu verwenden, nicht funktioniert. Wenn Sie versehentlich die http://
auslassen, funktioniert das auch nicht. Sie können den meisten beliebigen 8***
-Port verwenden, da die meisten von ihnen offen sind, aber natürlich müssen Sie einen Webserver haben, der auf diesem Port läuft, um Ihre statischen Dateien zu bedienen oder Ihre PHP-Anwendung auszuführen. Der einfachste Weg, dies zu tun, ist, den PHP-integrierten Webserver zu verwenden.
Ihre .travis.yml
Datei könnte wie folgt aussehen:
# Travis CI configuration file.
language: php
php:
- 5.6
- 7.0
before_script:
# Start up a web server.
- php -S 127.0.0.1:8888 -t /path/to/web/root >/dev/null 2>&1 &
# Start up the webdriver.
- phantomjs --webdriver=4444 >/dev/null 2>&1 &
# Install Codeception.
# Doing this last gives the webdriver and server time to start up.
- composer install --prefer-source
script:
- vendor/bin/codecept run
Sie brauchen natürlich Codeception zu Ihrem Projekt composer.json
Datei hinzufügen:
composer require --dev codeception/codeception
Sie müssen auch path/to/web/root
oben ändern zu dem Pfad zu dem Verzeichnis, in dem das Dokumentenstammverzeichnis des Servers sein soll.
Wenn Sie eine funktionierende Demo mit WebDriver-Tests gegen WordPress sehen möchten, können Sie unter this GitHub repo nachsehen.