Селен-RC: как лучше очистить браузер без перезагрузки - PullRequest
4 голосов
/ 13 февраля 2010

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

Это вызывает слишком много проблем и занимает слишком много времени, поэтому я откажусь от безопасности, если у вас будет новый профиль, чтобы не закрывать браузер. Как бы вы сделали такую ​​вещь? И достаточно ли очистить куки?

Ответы [ 4 ]

2 голосов
/ 13 февраля 2010

Я знаю, что ctrl + shift и refresh очищает кэш и cookie, поэтому после каждого метода тестирования вы можете инициировать обновление, нажимая ctrl + shift.

Альтернативным решением было бы написать сценарий java, который удаляет все файлы cookie и кэш, и запустить сценарий getEval для запуска сценария java после каждого метода тестирования.

Selenium RC также имеет функцию deleteCookies, которая удаляет все куки, вы можете вызывать этот метод после каждого теста, чтобы селен удалял куки.

Надеюсь, это поможет.

1 голос
/ 06 июля 2010

Вы не упомянули используемый вами языковой драйвер. В любом случае, это должно быть что-то вроде:

deleteCookie(cookieName, options)

Пример:

deleteCookie('preferredColor', 'path=/')

Для получения полной информации об API см. здесь

В моем случае, используя PHP:

$this->deleteCookie('uagent', 'path=/');

Если вместо этого вы хотите удалить все файлы cookie, используйте deleteAllVisibleCookies ().

Надеюсь, это поможет.

0 голосов
/ 07 мая 2013

Если вы используете Java, то вы можете просто использовать это в setUp ().

selenium.deleteAllVisibleCookies ();

Надеюсь, что это прекрасно

0 голосов
/ 19 августа 2010

вы получили решения этого? Мне интересно знать.

Что я делаю, так это установил опцию «не помню» и закрывал браузер каждый раз, когда мне нужен свежий браузер ....

...