Я использую Selenium IDE (1.3.0 на FF 7.1) для создания тестового примера.Цель тестового примера - войти в приложение ASP.NET, очистить куки-файл сеанса (для имитации тайм-аута или чего-то подобного), а затем перейти на страницу по умолчанию, которую видит вошедший в систему пользователь, и убедиться, что они перенаправлены.на страницу входа.Довольно просто ... но я просто погружаюсь в Selenium IDE, поэтому пытаюсь начать с простого.
Кажется, deleteAllVisibleCookies
- правильный способ сделать это:
deleteAllVisibleCookies () Вызывает deleteCookie с recurse = true для всех файлов cookie, видимых на текущей странице.Как отмечено в документации для deleteCookie, recurse = true может быть намного медленнее, чем простое удаление файлов cookie с использованием известного домена / пути.
Соответствующая часть моего плана Selenium IDE выглядит примерно так:
assertTitle Project List
assertTextPresent Start a New Project
deleteAllVisibleCookies
open /path/to/intro/page.aspx
assertTitle Log In
Во время выполнения плана тестирования я смотрю на файлы cookie, установленные через FireCookie и Firebug.
Как только пользователь вошел в систему (в части assertTextPresent
), я вижу двафайлы cookie - ASP.NET_SessionId и другой файл cookie, которые установлены для одного домена (domain.local) и пути (/).
Когда вызывается deleteAllVisibleCookies
, я вижу, что второй файл cookie удаляется,но ASP.NET_SessionId не удаляется.
Я пытался добавить pause 5000
после deleteAllVisibleCookies
, поскольку в документации есть некоторые признаки того, что процесс повторного использования файлов cookie может занимать много времени., но это не помогло.
Я пытался использовать deleteAllVisibleCookiesAndWait
, но это просто время ожидания и не удается - я не совсем уверен из документации, если я делаю что-то не так, илидаже если это правильный вызов для использования в этой ситуации.
Я что-то здесь упускаю?
Редактировать : я бы просто использовал deleteCookie
с опцией recurse, но мне нужен этот план тестирования для работы с множеством базовых URL-адресов, поэтому жесткое кодирование домена, как мне нужно было бы сделать с deleteCookie
, не является опцией.
Редактировать 2 : Я даже не могу удалить куки сессии, указав имя (ASP.NET_SessionId
) и domain=domain.local,recurse=true,path=/
для аргументов.