Как удалить многодоменные куки программно с помощью Selenium RC / Java - PullRequest
3 голосов
/ 27 сентября 2010

Selenium имеет конструкцию deleteallvisiblecookies, которая удаляет все файлы cookie при выполнении тестов в одном домене.

Для продуктов, которые вызывают контроль доступа, например, обычно URL-адрес перехватывается продуктом менеджера доступа, и пользователь перенаправляется в другой домен для входа в систему, а затем перенаправляется обратно на исходный URL-адрес, если вход выполнен успешно, это не похоже на работу

Согласно документации Selenese:

Чтобы удалить куки, вам нужно удалить он использует точно такой же путь и домен, который использовался для создания печенье. Если путь неверный или домен неверный, куки просто не будет удален.

Я не могу удалить все файлы cookie в такой мультидоменной среде.

Мы используем Java и Selenium RC для запуска этих тестов - обычно с использованием Firefox, но с некоторым IE.

Кто-нибудь получил примеры кода Java или предложения, которые я мог бы использовать для решения этой проблемы?

Ответы [ 2 ]

1 голос
/ 15 января 2011

Я полагаю, что вы можете запросить Selenium RC, чтобы узнать, в каком браузере он работает - если вы можете это сделать, ваши тесты могут пойти в то место, где браузер хранит куки (если вы можете определить его при запуске) -время в случае профилей Firefox - может быть, посмотрите на дату создания?) и удаление файлов cookie через файловую систему. Тогда у вас не будет никакого участия в Selenium и проблем, связанных с доменом.

1 голос
/ 27 сентября 2010

Не думаю, что ты можешь. Java-часть Selenium RC просто управляет браузером, используя генерируемый им JavaScript. Все выполняется в браузере, поэтому применяются обычные междоменные правила.

Единственное, о чем я могу думать, - это создать какую-нибудь прокси-страницу, которая выглядит так, как будто она идет из домена диспетчера доступа, и удалить эту «свои» куки. Selenium RC уже включает прокси-сервер (именно так он и работает), возможно, есть способ добавить несколько поддельных страниц в прокси-домены.

...