t.me/atinfo_chat Telegram группа по автоматизации тестирования

Запуск Safari без настроек, cookies и старых сессий

Теги: #<Tag:0x00007f7481fbb5b0> #<Tag:0x00007f7481fbb4e8> #<Tag:0x00007f7481fbb3d0> #<Tag:0x00007f7481fbb308>

Использую Ruby, Selenium-WebDriver.
При запуске Chrome или PhantomJS проблем нет.
Каждый новый запуск тест открывает пустой браузер, без настроек, плагинов, старых сессий и т. д.
При запуске Safari открывается рабочий Safari, в котором все прошлые сессии сохраняются.
Т. е., если прошлый тест авторизовался на сайте и завершил работу браузера, то повторный запуск теста упадёт, т. к. пользователь уже авторизован.
Какой магией можно сказать Селениуму, чтобы он запускал «чистый» Safari?

Обычный запуск браузеров.

driver = Selenium::WebDriver.for :chrome
driver = Selenium::WebDriver.for :phantomjs

Для safari есть options cleanSession, выставить в true и запихать в капабилити
Раньше оно не работало, может сейчас что-то поменялось
Я это обходил дело убиением процесса safari и чисткой кэша вручную(перед тестом запускался скрипт по зачистке кеша)
Примерно как-то так - https://discussions.apple.com/thread/6460803?start=0&

Тут проблема в том, что та копия Safari, которую запускает WebDriver — это моя личная, копия, как бы так правильно выразиться.
Мне не надо в моём Safari убивать кеш, куки и т. д.
В случае с Chrome, у меня есть рабочий Chrome с плагинами, расширениями, сессиями и т. д.
При этом WebDriver запускает именно копию Chrome, чистую, без настроек, плагинов и прочего.

Была и есть бага в старых safari драйверах, что не создавалась “чистая” сессия браузера, не работали стандартные методы по удалению кукисов. И все советы/решения были основаны на том или ином способе чистки “каши” и “печенек”
Остается ждать от Apple их safari driver и уповать, что там будет все работать как надо

2 Симпатий

Константин, больше спасибо за ответ.
Теперь всё стало на свои места.