Tak, to jest możliwe, aby uruchomić Testy kodekceptacji, w tym testy akceptacyjne uruchamiane przy użyciu WebDriver na Travis CI.
Jest to possible to run your tests with a real browser on Travis, ale najłatwiej jest używać przeglądarki bezgłowej, ponieważ Travis pracuje na bezgłowej maszynie. PhantomJS jest do tego idealny i jest fabrycznie wyposażony w bootstrap firmy Travis CI.
Aby uruchomić testy z PhantomJS, musisz skonfigurować moduł WebDriver takiego w swojej .yml
Codeception pliku konfiguracyjnego:
modules:
config:
WPWebDriver:
url: 'http://127.0.0.1:8888'
browser: phantomjs
URL jest ważne. Zauważyłem, że próba użycia localhost
zamiast 127.0.0.1
nie będzie działać. Ponadto, jeśli przypadkowo zrezygnujesz z http://
, to również nie zadziała. Możesz użyć większości portów 8***
, ponieważ większość z nich jest otwarta, ale oczywiście musisz mieć serwer WWW działający na tym porcie, aby obsługiwał twoje pliki statyczne lub uruchamiał aplikację PHP. Najłatwiej jest to zrobić, korzystając z wbudowanego serwera WWW PHP.
Plik .travis.yml
może wyglądać tak:
# 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
Będziesz oczywiście trzeba dodać Codeception do Twojego projektu composer.json
pliku:
composer require --dev codeception/codeception
Trzeba także zmienić path/to/web/root
powyżej do ścieżki do katalogu, w którym ma się znajdować główny katalog serwera.
Jeśli chcesz zobaczyć działające demo z testami WebDriver przeciwko WordPress, możesz sprawdzić this GitHub repo.