Подтвердить что ты не робот

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

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

PhantomJS waiting for some calls

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
4b9b3361

Ответ 1

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

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

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

Найдено здесь: Повторение "Фаза очистки асинхронных сеансов, начиная СЕЙЧАС"

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

Проблема Github: https://github.com/ariya/phantomjs/issues/11526

Ответ 2

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

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

Ответ 3

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

Ответ 4

В Java я использовал приведенный ниже код, и он был решен

DesiredCapabilities caps = new DesiredCapabilities();
Change - WebDriver driver = new PhantomJSDriver(caps);
with - this.driver = new PhantomJSDriver(caps);