2013-02-07 8 views
6

Przeprowadzamy kilka skryptów testowych Pythona na grupie stacji testowych. Interfejs skryptów testowych jest połączony z jednostkami sprzętowymi na tych stacjach testowych, więc utknęliśmy przy uruchamianiu jednego skryptu testowego na raz na stację (nie możemy wirtualizować wszystkiego). Zbudowaliśmy narzędzie do przypisywania testów do różnych stacji i raportowania wyników testów - to pozwala nam umieścić w kolejce tysiące testów i pozwolić im działać przez noc lub przez dłuższy czas.Python selenium testuje webdriver powodując "poważny błąd" podczas pracy w dużych partiach na Windows XP

Od czasu do czasu odkryliśmy, że stacje testowe znikną z klastra. Kiedy zdalnie się do nich loguję, otrzymuję czarny ekran, a następnie ponownie się uruchamiają, a po zalogowaniu się otrzymuję powiadomienie, że Windows XP miał "poważny błąd". Dziennik zdarzeń zawiera zapis tego błędu, który stwierdza: Category: (102) i Event ID: 1003.

Wcześniej okazało się, że było to spowodowane utworzeniem setek tymczasowych profili Firefoksa - nasze testy wykorzystują selenowy webdriver do automatyzacji interakcji z witrynami, a za każdym razem, gdy uruchamialiśmy nową przeglądarkę, utworzono tymczasowy profil Firefoksa. Dodaliśmy etap oczyszczania między testami, które opróżniają tymczasowe profile Firefoksa, ale wciąż odkrywamy, że stacje znikają kiedyś i zawsze z tym poważnym błędem i rejestrują się w dzienniku zdarzeń.

Chciałbym znaleźć główną przyczynę tego problemu, ale nie wiem, jak to zrobić. Próbowałem wyszukiwać informacje o tym, jak czytać wpisy dziennika zdarzeń, ale nie znalazłem nic, co mogłoby pomóc. Jestem otwarty na wszelkie sugestie dotyczące sposobów debugowania tego problemu.

+0

1003 oznacza po prostu maszynę BSODed, przynajmniej zgodnie z tym, co znalazłem. Pierwszym parametrem jest kod błędu, który powinien zacząć pomagać w zawężaniu tego, co się dzieje. Poszukaj także wydarzeń towarzyszących 1001, ponieważ dokumenty sugerują, że często można znaleźć tam dodatkowe istotne informacje. –

+0

Dzięki. Okay - Znalazłem zdarzenia 1001, które są zrzutami składowania. Pobrałem, zainstalowałem i uruchomiłem program dumpchk.exe, który wyświetla stronę "32-bitowej analizy zrzutu jądra Kernela" z sekcjami DUMP_HEADER32, TRIAGE_DUMP32, informacjami o jądrze i modułami Unloaded. Niestety, żaden z nich nie ma dla mnie sensu. – Nathan

+0

Czy możesz wysłać przykładowy zrzut do pastebin? Ponadto, jak dokładnie root powodował profile tymczasowe? Czy wypełniłeś dysk twardy? Wystąpił błąd wejścia/wyjścia lub zły sektor napędowy? Kończy się pamięć? –

Odpowiedz

0

Z podobnymi problemami już miałem do czynienia w Firefoksie. Rzadko zdarzało się, że udało nam się złapać maszynę w akcie, a to nie zamykało sesji przeglądarki. Stąd ostatecznie BSOD. Oczywiście był to błąd zarówno w webdriverze, firefoxie, jak i XP (którego również używaliśmy). Rozwiązaliśmy go, agresywnie zabijając każdy proces firefox pomiędzy poszczególnymi testami. To działało dla nas. A ponieważ nie pracujesz równolegle z testami, zadziałałoby to również na ciebie. Przez agresywny mam na myśli wkładanie w niego siekiery. Okna odpowiadające killall -9 firefox. Ponieważ te sesje nie odpowiadały.

Co do podstawowej przyczyny? Problem nie wystąpił w przypadku niektórych wersji Firefoksa. Ale nigdy nie udało nam się właściwie go debugować. Debugowanie było bardzo trudne, ponieważ nie można go było odtworzyć podczas krótkich testów i po pojawieniu się problemu naprawdę spowodowało to poważną awarię.

Powiązane problemy