2013-03-11 15 views
5

Quando eseguo la mia prova costume, trovo che a intermittenza alcuni dei testi si bloccherà per lungo tempo molto (15 minuti per una mezz'ora) con PhantomJS costantemente segnalazione:Ripetendo "Asynchronous Sessions fase di pulitura a partire da ora"

Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW 
Asynchronous Sessions cleanup phase starting NOW ... 

Che cosa è questo Asynchronous Sessions cleanup phase starting NOW e cosa potrebbe causarne il blocco per così tanto tempo?

Acclamazioni

Dave

risposta

1

soluzione trovata:

Il Asynchronous Sessions cleanup phase starting NOW ... è stato causato da alcuni chiamate a feed esterni, questi erano intermittenza lenta. Questa fase doveva aver atteso queste chiamate, che erano scadute, ma PhantomJS era rimasto lì ad aspettare un tempo molto, molto lungo.

La rimozione di queste chiamate durante il test (con un po 'di JavaScript, se l'host è localhost, quindi utilizzare un oggetto fittizio) ha risolto il problema.

+4

Ho lo stesso problema. Ti piacerebbe elaborare questo. –

+1

@BanksySan Non sono sicuro di cosa intendi per un pochino di JavaScript, cosa hai fatto, per il contesto? –

+0

@BanksySan un po 'di contesto potrebbe davvero aiutarmi –

-2

tenta di utilizzare this.driver = new PhantomJSDriver (caps); Ora, otteniamo un arresto. [INFO - 2014-05-01T13: 21: 09.095Z] ShutdownReqHand - _handle - A proposito di spegnere

ma dopo che ho ottenuto lo stesso PBM

+0

Come può aiutare? se "questo" non è un singleton allora non c'è differenza. – tribbloid

0

La soluzione che ha funzionato per me è quello di impostare la capacità takesScreenshot a falsa.

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

Questa non è la soluzione a meno che non stiate trasmettendo lo screenshot da qualche parte che non esiste. È una buona idea, ma c'è anche una questione di cache, file system; ecc. che può essere la colpa. Sto provando a eseguire test intensivi in ​​contenitori LXC con una maggiore allocazione delle risorse, perché penso che questo risolverà i problemi che sto avendo con tutti i webdriver. –