Да, можно запустить Тесты с коллаксией, включая приемочные тесты, которые запускаются с использованием WebDriver, на Travis CI.
Это possible to run your tests with a real browser on Travis, но проще всего использовать безгласный браузер, так как Travis работает на безголовой машине. PhantomJS идеально подходит для этого, и он поставляется с предустановленной загрузкой Travis CI.
Чтобы запустить тесты с PhantomJS, вам необходимо настроить модуль WebDriver, как это в файле конфигурации .yml
Codeception:
modules:
config:
WPWebDriver:
url: 'http://127.0.0.1:8888'
browser: phantomjs
URL-адрес имеет важное значение. Я нашел, что попытка использовать localhost
вместо 127.0.0.1
не будет работать. Кроме того, если вы случайно оставите http://
, это тоже не сработает. Вы можете использовать большинство портов 8***
, так как большинство из них открыты, но, конечно же, вам понадобится веб-сервер, работающий на этом порту, чтобы обслуживать ваши статические файлы или запускать приложение PHP. Самый простой способ сделать это, я считаю, - использовать встроенный веб-сервер PHP.
Ваш файл .travis.yml
может выглядеть примерно так:
# 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
Вы, конечно, нужно добавить Codeception в composer.json
файл вашего проекта:
composer require --dev codeception/codeception
Вам также нужно изменить path/to/web/root
выше к пути к каталогу, в котором вы хотите, чтобы корень документа сервера был.
Если вы хотите увидеть рабочую демонстрационную версию тестов WebDriver против WordPress, вы можете проверить this GitHub repo.