2016-10-07 3 views
0

У меня разные роли входа. Меню будет отличаться для каждого входа пользователя.Удалить кеш и файлы cookie

Я делаю логин для user1 и выйдите из системы, а затем продолжите дальнейший пользователь.

При каждом входе в систему я использую deleteAllCookies() перед запуском URL-адреса. Но я столкнулся с тем, что сеанс сохраняется и напрямую регистрируется в последнем зарегистрированном пользователе.

Следующая комбинация, которую я пробовал. это не сработало.

public static WebDriver driver; 

1. deleteAllCookies() 

2. DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); 
     capabilities.setCapability(CapabilityType.SUPPORTS_APPLICATION_CACHE, false); 
     driver = new InternetExplorerDriver(capabilities) 

3. DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();  
capabilities.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true); 
     driver = new InternetExplorerDriver(capabilities) 

Как этого избежать?

+0

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

ответ

0

Я пробовал код и работает от deleteAllCookies().

WebDriver driver = null; 
driver = new FirefoxDriver(); 
driver.get("http://stackoverflow.com/"); 

driver.findElement(By.xpath("html/body/div[3]/div/div[3]/div[1]/span/a[2]")).click(); 
Thread.sleep(1000); 
driver.findElement(By.xpath("//*[@id='email']")).sendKeys(<Enter your email>); 
driver.findElement(By.xpath("//*[@id='password']")).sendKeys(<Enter your password>); 
Thread.sleep(1000); 
driver.findElement(By.xpath("//*[@id='submit-button']")).click(); 

Thread.sleep(1000); 
System.out.println("Get"); 
System.out.println(driver.manage().getCookies()); 
driver.manage().deleteAllCookies(); 
System.out.println("Delete"); 
System.out.println(driver.manage().getCookies()); 
driver.get("http://stackoverflow.com/"); 
0

Это прекрасно работает для меня.

try { 
       Runtime.getRuntime().exec("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255"); 
        Thread.sleep(3000); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
Смежные вопросы