PhantomJS挂了很长时间,说“异步会话清理阶段现在开始”

时间:2014-03-13 02:43:46

标签: php selenium asynchronous 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

4 个答案:

答案 0 :(得分:1)

我能找到的只有半相关的答案如下:

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

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

在此处找到:Repeating "Asynchronous Sessions cleanup phase starting NOW"

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

一年前我遇到了同样的问题。我发现了一个肮脏的黑客。我使用其他服务器和nginx,我将所有查询代理到所需的测试版本。我将测试重定向到代理服务器,现在我没有这个错误。自2016年4月以来,测试每天都在进行,没有错误。

答案 3 :(得分:0)

在Java中,我使用了下面的代码,问题得到解决

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