Почему носовые тесты оставляют бесхозные процессы PhantomJS в Windows 8?

У меня есть несколько носовых тестов Python Selenium, работающих в Windows 8 с PhantomJS. Я установил наглость (PhantomJS) через Chocolatey.

Когда я запускаю носовые тесты, появляется процесс «ShimGen», и появляется множество процессов «PhantomJS - это безголовый WebKit с JavaScript API (32 бит)», которые используют более 50 МБ памяти и никогда не закрываются. Это приводит к зависанию процессов PhantomJS в памяти.

Это в конечном итоге приводит к падению сервера.


person Zymotik    schedule 19.06.2015    source источник


Ответы (2)


В каталоге C:\ProgramData\chocolatey\bin находился исполняемый файл phantomjs.exe. Переименование этого файла в phantomjs.exe.bak и добавление C:\ProgramData\chocolatey\lib\Chutzpah к пути Windows вместо этого решили проблему.

Похоже, что этот exe-файл является прокладкой для исполняемого файла phantomjs в папке bin. Когда вызывается терминация, я не думаю, что он правильно обрабатывается прокладкой. У меня возникла идея попробовать это по этому URL-адресу: Choco-проблема: Shims должны завершить основной процесс, который они ожидают при получении сигнала завершения

Если вам интересно, вот как отредактировать путь к Windows:

Пуск >> Щелкните правой кнопкой мыши компьютер >> Свойства >> Вкладка «Дополнительно» >> Переменные среды: на панели «Системные переменные» выберите «Путь» и нажмите «Изменить».

person Zymotik    schedule 19.06.2015

Какую версию choco вы использовали для установки PhantomJS (и какую версию PhantomJS)? Я считаю, что мы исправили эту проблему в большинстве случаев, но она есть в более новых версиях choco — и вам нужно, чтобы прокладка была сгенерирована в этой более новой версии (что означает установку или обновление, но мы добавляем команду регенерации прокладки).

person ferventcoder    schedule 21.06.2015