Selenium webdriver закрывается без сессии - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть тест, который выполняется в течение 6 часов.Через 2 часа мой драйвер замедляется из-за особенностей браузера Chrome.Решение - закрыть браузер и перезапустить его.Я обнаружил, что выполнение driver.quit() помогает в производительности из-за некоторой используемой внутренней памяти, что приводит к замедлению тестирования.Мне интересно, есть ли возможность использовать driver.quit(), не закрывая драйверы, потому что мне нужны файлы cookie, которые были сгенерированы в этом сеансе, а также не уничтожать скрипт Python, который запускается в этот момент.

1 Ответ

0 голосов
/ 29 ноября 2018

Цель driver.quit() - закрыть все окна браузера и завершить сеанс WebDriver.Поэтому нет, вы не можете использовать driver.quit() без закрытия драйверов - вот что он делает.

На мой взгляд, вы должны посмотреть, почему вообще у вас есть эта проблема:

  • Есть ли причина для запуска 6 часов тестирования в одном сеансе? Конечно, могут быть особые обстоятельства, но хорошей практикой является разделение всего набора тестов на независимый наборы, где каждый набор может запускаться самостоятельно, в «чистой» среде (то есть в новой сессии браузера).Это не только предотвратит проблему, с которой вы столкнулись, но и улучшит надежность тестов (т.е. эффект домино, когда один тест теряет все последующие выполнения теста), возможность отладки (представьте, что у вас есть проблема с тестом, который выполняется в час № 3).и проблема не воспроизводима, когда вы запускаете ее отдельно, или вы не можете запустить ее самостоятельно), а также гибкость выполнения.

  • Почему браузер долженперезапускаться через 2 часа? Нет, это не "природа Chrome".Это где-то ошибка - утечка памяти или что-то еще.Возможно, стоит выяснить, о чем идет речь.Потому что вы можете остановить тесты через 2 часа, но собираетесь ли вы сказать своим пользователям не использовать ваше приложение более 2 часов?Даже если это ошибка в драйвере Selenium, возможно, стоит сообщить об этом разработчикам селена для вас и для всех остальных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...