Не могу разобраться, что именно нужно ещё настроить в данной связке. На данный момент у меня в докере в дев окружении крутится сайт на php со своей кучей зависимостей(всё по отдельным контейнерам). PHPUnit поднят в своём контейнере, в него слинкована папка сайта, и у него есть зависимость от контейнера с nginx.
Кусок docker-compose:
phpunit:
image: phpunit/phpunit:5.7.12
volumes_from:
- fpm
working_dir: /var/www/html/
links:
- nginx
Интеграционные тесты в связке с Goutte работают отлично (используется библиотека “laracasts/integrated”: “^0.15.6”), в связке с Selenium БЕЗ докера ранее всё тоже работало (поднимал сервер селениума вручную).
Сейчас пытаюсь настроить запуск селениум тестов внутри докера, по инструкции с GitHub - elgalu/docker-selenium: [NOT MAINTAINED] Please use <https://github.com/SeleniumHQ/docker-selenium> запулил и запустил контейнер:
docker exec grid wait_all_done 30s
Waiting for docker-selenium to be ready…
Container docker internal IP: 172.17.0.2
Selenium all done and ready for testing!
На http://localhost:4444/ появилась страничка
Selenium Grid Hub v.3.6.0, но дальше возникают проблемы.
При попытке запуска тестов, PHPUnit ругается, и говорит что я забыл запустить селениум:
WebDriver\Exception\CurlExec: Hold on there, partner. Did you maybe forget to boot up Selenium?
java -jar selenium-server-standalone-*.jar
Curl error thrown for http POST to http://localhost:4444/wd/hub/session with params: {“desiredCapabilities”:{“browserName”:“firefox”}}
Failed to connect to localhost port 4444: Connection refused
Страничка http://localhost:4444/wd/hub/session выдаёт 500 ошибку с большим логом ошибок java если на неё зайти вручную(не знаю, нормальное ли это поведение)
Собственно, я даже не могу понять, надо ли что-то донастроить в селениуме, или нужно прописать что-то в тесте, или проблема в самом докере, и PHPUnit просто не видит куда стучаться к селениум хабу.
Буду благодарен за любые подсказки)