2009-07-14 5 views
1

Можно ли отключить cookie браузера, используя селен, RC конкретно? Если да, то каков апи-вызов или последовательность вызовов, чтобы это произошло. Проверяется функция, в которой необходимо проверить поведение, когда куки включены или отключены. СпасибоSelenium RC - отключение браузера cookie

+0

Одна вещь, которую я попробовал - это создать пользовательский профиль FF3, в котором отключен файл cookie, и один включен. Каждый раз, когда я запускаю селен, я указываю его на любой профиль, в зависимости от того, какой случай проверяется. Его идея, но все еще не поняла, как указать селен, чтобы начать с этих пользовательских профилей. – Afamee

ответ

1

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

Способ сделать это так указать browserStartCommand (3-й аргумент DefaultSelenium конструктора), чтобы что-то похожее на:

*custom "C:/Program Files/Mozilla Firefox/firefox.exe" -no-remote -profile "C:/Some/Path/To/Mozilla/Firefox/Profiles/selenium" 

И этот профиль, вы могли бы куки отключены.

+0

, который не используется в selenium 2 webdriver – Adaptabi

0

Еще одна идея (я не пробовал) использовать специальный прокси между клиентом Selenium RC и протестированным веб-приложением. Прокси-сервер сможет фильтровать файлы cookie, когда их просят.

Существуют некоторые прокси-реализации, предназначенные для разработки, отладки и трассировки ролей. Я уверен, что вы можете найти тот, у кого есть функция блокировки файлов cookie.

EDIT: Это решение имеет то преимущество, что оно не зависит от браузера.

1

Если вы собираетесь использовать Firefox, есть специальная команда для доступа к шаблону firefox. Вы можете использовать

-firefoxProfileTemplate "path to the profile" 

, как описано here. Я бы использовал разные профили для куки-файлов вкл и выкл таким образом, чтобы вы могли контролировать его намного лучше.

2

Существует более простой способ использования только профиля по умолчанию, если на Selenium 2.x.

FirefoxProfile profile=new FirefoxProfile(); 
profile.setPreference("network.cookie.cookieBehavior",2); 
Смежные вопросы