Пользователь HeadHunter
Для входа воспользуйтесь учетной записью любого из проектов HeadHunter или зарегистрируйтесь
Я в сообществе



Календарь

Поиск по сообществу
 

Интересно, как в тесте отследить время жизни куки?

Pavlova Zoya
9 октября 2007, 21:18
Скрыть запись
Скрыть запись

С помощью селениума не получается. Возвращается пара имя=значение, без дополнительных параметров (вроде необходимого expires), то есть возвращается то, что можно получить из document.coockie. А этого мало. Задача вообщем-то стоит такая: нужно удалить только те куки, у которых время жизни - сессия.

Тут 2 очевидных пути решения:

  1. закрыть браузер и открыть его снова;
  2. как-то найти куки, у которых время жизни - сессия;

У того же селениума нельзя просто взять и закрыть браузер. Только таб (или popup). Нужно перестартовать селениум. А он создаст чистый профиль. Можно прописать в строке запуска что нить в виде "*custom < path2Fiirefox > -P < path2customProfile >". Но это не совсем верно, так тестировать хочется и нужно еще и под IE.

Можно ботом принудительно закрыть окно (например, нажав alt+F4). Но селениум дальше работать отказывается. Что вполне понятно.

Здесь для этого пути мысли заканчиваются.

Следующий путь - каким-либо образом получить время жизни куки. С помощью JS не получается. Можно попробовать прочитать куки из файла, который хранит браузер. Опять таки приходится делить метод для разных браузеров. А хочется, чтобы одной строчкой и везде работало :) Тут есть небольшая загвоздка: если где лежат куки для IE по умолчанию - известно, то для firefox'a каждый раз создается новый профиль и нужно искать его. У SeleniumServer есть свойство firefoxProfileTemplate. Соответственно можно узнать, какой именно профиль он использует в этот раз. Теоретически. У меня пока не получилось.

Можно написать тест, например на jwebUnit . Тоже идея. Только мне не удалось заставить его представится firefox'ом. А по умолчанию он считает себя IE4. Зато он замечательно возвращает все, что мне нужно знать о куке. Должен же быть способ сделать это?

+ 0
- 0
Просмотров:
217