PhantomJS долго висит, говоря «Фаза очистки асинхронных сеансов, начиная СЕЙЧАС»

Вот скриншот:

PhantomJS ждет некоторых звонков

task : Codeception PHP Testing Framework v1.6.2 Powered by PHPUnit 3.7.19 by Sebastian Bergmann. Suite selenium_acceptance started Trying to see the welcome page of newweather (welcomeCept.php) issue : it sits as it is and waiting for phantomJS to respond and below is what phantomJS screen is showing : [INFO - 2014-03-13T01:42:51.575Z] SessionManagerReqHand - _postNewSessionCommand - New Session Created: ca14e740-aa50-11e3-bb6b-75468ba86108 [INFO - 2014-03-13T01:47:42.806Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW [INFO - 2014-03-13T01:52:42.806Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW [INFO - 2014-03-13T01:57:42.806Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW 

И он не видит на экране никаких результатов.

Это то, что я использую:

  • Версия PhantomJS: 1.9.7
  • работает на порту: 4444

Solutions Collecting From Web of "PhantomJS долго висит, говоря «Фаза очистки асинхронных сеансов, начиная СЕЙЧАС»"

Только полузависимый ответ, который я смог найти, был следующим:

«Фаза очистки асинхронных сеансов, запускающая СЕЙЧАС … была вызвана некоторыми вызовами внешних каналов, это было прерывисто медленным. Эта фаза, должно быть, ожидала этих вызовов, которые были таймингами, но PhantomJS сидел там, ожидая очень, очень много времени.

Удаление этих вызовов при тестировании (с небольшим количеством JavaScript, если хост является localhost, а затем использовать фиктивный объект), решил проблему ».

Найдено здесь: Повторение «Фаза очистки асинхронных сеансов начинается с момента запуска»

Таким образом, проблема, скорее всего, вызвана отключением внешних фидов / API-вызовов.

Вопрос Github: https://github.com/ariya/phantomjs/issues/11526

Обходной путь, который работал для меня, – установить для параметра takeScreenshot значение false.

 DesiredCapabilities caps = new DesiredCapabilities(); caps.setCapability("takesScreenshot", false); 

У меня такая же проблема год назад. Я нашел один грязный хак. Я использую другой сервер с nginx, где я проксировал все запросы в нужную тестовую сборку. Я перенаправил свои тесты на прокси-сервер, и теперь у меня нет этой ошибки. Испытания работают каждый день с апреля 2016 года, и никаких ошибок нет.