При выполнении приемочных тестов с использованием PhantomJS и Codeception (в рамках установки Laravel) я обычно сталкиваюсь с ошибкой:
Не удалось подключиться к порту 12744.0.1 4444: соединение отклонено
Специально во время выполнения тестов:
В этот момент я получаю исключение (выше) в то же самое время, когда процесс PhantomJS или около него получает убит.
Похоже, что запросы curl отклоняются, вероятно потому, что процесс PhantomJS убит.
Без запуска PhantomJS, если я отправляю запрос HEAD с помощью curl, я получаю:
curl -I http://127.0.0.1:4444
curl: (7) Failed to connect to 127.0.0.1 port 4444: Connection refused
С PhantomJS, запущенным через phantomjs --webdriver=4444
curl -I http://127.0.0.1:4444
HTTP/1.1 404 Not Found
Cache: no-cache
Content-Length: 360
Content-Type: text/plain
Иногда мои приемочные тесты проходят успешно, другие раз (по большей части + 99%) я сталкиваюсь с ошибкой, как описано выше.
Моя среда предоставляется Ansible, выполнение тестов в прошлом не было проблемой до последних 48 часов. Повторная подготовка моей среды не помогает.
Правильно ли я предположил, что что-то непреднамеренно убивает процесс PhantomJS, что приводит к ошибке, описанной выше, когда Codeception пытается выдать запрос curl?
Я подумал, что это может быть проблема с открытыми портами. и т.д., но после нескольких дней отладки / исследования я не могу определить точную причину.
Я использую:
Любые предложения приветствуются.