2015-03-20 4 views
2

Я использую JavaSelenium WebDriver вместе с Appium для выполнения тестов на мобильной среде, будь то Emulator(Genymotion) или физические устройства (Android). Я использую chromedriver, который я использую для выполнения тестов в веб-приложении в браузере Chrome. Я зацикливаю свои случаи на несколько наборов данных, но для приложения требуется, чтобы весь файл cookie браузера и все данные сеанса удалялись до начала каждого цикла. Я пробовал использовать driver.Manage().Deleteallcookies(), но для меня это не сработало. Я читал в некоторых потоках, чтобы попытаться создать новый сеанс браузера перед каждым циклом. Поэтому я попробовал driver.quit(), но завершает сеанс chromedriver и заканчивает тест. Я также пробовал driver.close(), но получил тот же результат, что и driver.quit(). Может ли кто-нибудь предложить способ удаления файлов cookie браузера и данных сеанса в браузере chrome?Не удалось очистить куки браузера и данные сессии с селеном

Моя Appium версия: 1.3.4.1 Chromedriver версия: 2,3 Device/Emulator я пытаюсь проверить на: Nexus5/Samsung Note 3 Android: 4.4.4/5,0

+2

'driver.Manage(). Удалитьallcookies()' должен делать это, и когда вы говорите, что это не сработало, что вы имеете в виду? Можете ли вы предоставить какой-либо stacktrace ошибки? – Saifur

+0

Команда выполняется корректно без ошибок, но данные сеанса и данные локального хранилища в браузере не удаляются. Они сохраняются. Но когда я очищаю все данные просмотра вручную, все данные удаляются. – Vir

+0

Вы говорите о кеше браузера? – Saifur

ответ

0

Вы можете попробовать используя следующее для обеспечения четкого сеанса. Примечание. Я никогда не испытывал это сам. Я понимаю, что селен по умолчанию создает новый сеанс, если вы не указали что-то другое или не загрузили профиль.

DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
capabilities.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true); 
ChromeDriver driver = new ChromeDriver(capabilities); 
+0

Я пробовал приведенный выше код, но это также дало тот же результат. Для нового потока все в порядке, но проблема во втором потоке, когда данные сеанса нарушают функциональность. Вышеприведенный код не удаляет данные сеанса. – Vir

+0

@Vir Запускаете ли вы второй сеанс с тем же экземпляром драйвера? – Saifur

+0

Да, тот же пример – Vir

Смежные вопросы