2013-03-11 23 views
5

Kiedy uruchomić mój garnitur testową, uważam, że sporadycznie niektóre teksty zawiśnie na samym długi czas (15 minut do pół godziny) z PhantomJS stale raportowania:Powtarzanie „Asynchronous Sesje faza oczyszczania począwszy TERAZ”

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 ... 

Co to jest Asynchronous Sessions cleanup phase starting NOW i co może powodować jego zawieszenie na tak długi czas?

Cheers

Dave

Odpowiedz

1

Rozwiązanie znaleziono:

Asynchronous Sessions cleanup phase starting NOW ... zostało spowodowane przez niektórych połączeń do kanałów zewnętrznych, były sporadycznie powolny. Ta faza musiała czekać na te połączenia, które kończyły się, ale PhantomJS siedział tam przez bardzo, bardzo długi czas.

Usunięcie tych wywołań podczas testowania (przy odrobinie JavaScript, jeśli host jest localhost, a następnie użyj obojętnego obiektu) rozwiązało problem.

+4

Mam ten sam problem. Czy chciałbyś to rozwinąć? –

+1

@BanksySan Nie jestem pewien, co masz na myśli przez odrobinę JavaScript, co zrobiłeś, w kontekście? –

+0

@BanksySan tak, odrobina kontekstu może mi naprawdę pomóc –

-2

spróbuj użyć this.driver = new PhantomJSDriver (czapki); Teraz mamy wyłączenie. [INFO - 2014-05-01T13: 21: 09.095Z] ShutdownReqHand - _handle - O do zamykania

ale po mam ten sam PBM

+0

Jak to pomoże? jeśli "to" nie jest singletonem, to nie ma żadnej różnicy. – tribbloid

0

Obejście że pracował dla mnie jest ustalenie zdolności do takesScreenshot fałszywy.

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

To nie jest rozwiązanie, chyba że wypisujesz zrzut ekranu gdzieś, co nie istnieje. To jest dobry pomysł, ale jest też kwestia pamięci podręcznej, systemu plików; itp., co może być przyczyną winy. Próbuję uruchomić intensywne testy w kontenerach LXC z bardziej izolowanym alokowaniem zasobów, ponieważ myślę, że to pozbyłoby się problemów, które mam z wszystkimi webdriverami. –