我有不同的登录角色。每个用户登录的菜单都不同。
我登录 user1 和Logout,然后继续进一步用户。
在每次登录时,我在启动网址之前使用deleteAllCookies()
。但我面临会话被保留并直接登录最后登录的用户。
我尝试过以下组合。它不起作用。
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 :(得分: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/");
答案 1 :(得分:0)
这对我来说很好。
try {
Runtime.getRuntime().exec("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255");
Thread.sleep(3000);
} catch (IOException e) {
e.printStackTrace();
}