PhantomJS 长时间挂起,表示“异步会话清理阶段立即开始”

2022-08-30 10:55:10

这是一个截图:

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

而且它坐在屏幕上没有结果。

这就是我使用的:

  • 幻影JS版本:1.9.7
  • 在端口上运行:4444

答案 1

我唯一能找到的半相关答案如下:

“异步会话清理阶段现在开始...是由一些对外部源的调用引起的,这些调用间歇性地很慢。这个阶段一定是在等待这些超时的调用,但是PhantomJS坐在那里等待了非常非常长的时间。

在测试时删除这些调用(使用一些JavaScript,如果主机是localhost,那么使用虚拟对象)解决了这个问题。

在此处找到:重复“异步会话清理阶段立即开始”

因此,此问题很可能是由外部源/API 调用超时引起的。

Github 问题:https://github.com/ariya/phantomjs/issues/11526


答案 2

对我有效的解决方法是将 takeScreenshot 功能设置为 false。

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

推荐