Selenium RC - отключение файлов cookie браузера
Можно ли отключить cookie-файлы браузера, используя селен, в частности RC? Если да, то каков вызов API или последовательность вызовов, чтобы это произошло. Существует тестируемая функция, в которой необходимо проверить поведение, когда куки включены или отключены. Спасибо
4 ответа
Как указано в комментарии. Если вы используете FF, вы можете указать профиль, который будет использоваться.
Для этого нужно указать browserStartCommand (третий аргумент DefaultSelenium
конструктор) к чему-то похожему на:
*custom "C:/Program Files/Mozilla Firefox/firefox.exe" -no-remote -profile "C:/Some/Path/To/Mozilla/Firefox/Profiles/selenium"
И этот профиль вы могли бы отключить куки.
Существует более простой способ использования только профиля по умолчанию, если в Selenium 2.x.
FirefoxProfile profile=new FirefoxProfile();
profile.setPreference("network.cookie.cookieBehavior",2);
Если вы собираетесь использовать Firefox, есть специальная команда для доступа к шаблону Firefox. Ты используешь
-firefoxProfileTemplate "path to the profile"
как описано здесь. Я бы использовал разные профили для включения и выключения файлов cookie, чтобы вы могли лучше контролировать их.
Другая идея (я не пробовал этого) - использовать специальный прокси-сервер между клиентом Selenium RC и протестированным веб-приложением. Прокси-сервер сможет фильтровать файлы cookie при запросе.
Существует несколько реализаций прокси, предназначенных для разработки, отладки и отслеживания ролей. Я уверен, что вы можете найти один с функцией блокировки файлов cookie.
РЕДАКТИРОВАТЬ: Это решение имеет то преимущество, что он не зависит от браузера.