Можно ли истечь куки с Selenium? - PullRequest
1 голос
/ 03 марта 2012

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

1 Ответ

2 голосов
/ 03 марта 2012

Решение 1: Использование Java Script

String jScript_ = "" +
"Response.Cache.SetExpires(DateTime.Parse(DateTime.Now.ToString()))\n" +
"Response.Cache.SetCacheability(HttpCacheability.Private)\n" +
"Response.Cache.SetNoStore()\n" +
"Response.AppendHeader("Pragma", "no-cache")";

selenium.getEval(jScript_);

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

Решение 3: Использование Java

protected void deleteCookie(String cookieName) {
 String cookieDomain = CTPropertiesManager.getProperty("site.properties", "site.cookie.domain");
 try {
  //get all cookies
  Cookie cookies[] = request.getCookies();
  Cookie ctCookie=null;
  if (cookies !=null) {
   for(int i=0; i<cookies.length; i++) {
    ctCookie=cookies[i];
    if (ctCookie.getName().trim().equals(cookieName)) {
     if ( cookieDomain != null ) {
      ctCookie.setDomain(cookieDomain);
     }

     ctCookie.setPath("/ct");
     ctCookie.setMaxAge(0);
     response.addCookie(ctCookie);
    }
   }
  }
 } catch(Exception e){
  CTLogManager.log(e);
 }
}

Решение 4: Я создаюодин метод и помещенный ниже код

driver.manage (). deleteAllCookies ();

sel.refresh ();

driver.navigate (). to (ВАШ ФАЙЛPATH);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...