有没有办法清除会话数据以确保每次都启动一个干净的会话?

时间:2017-12-06 11:29:39

标签: java selenium-webdriver

对于IE,您将使用以下功能:

DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);

并可能与

结合使用
 driver.manage().deleteAllCookies(); 

如何使用Chrome和ChromeDriver实现这一目标?

1 个答案:

答案 0 :(得分:2)

我们使用 init 时,我们使用字段 Internet Explorer Driver

IE_ENSURE_CLEAN_SESSION

根据JavaDocs IE_ENSURE_CLEAN_SESSION 是能力,它定义在IEDriverServer启动Internet Explorer之前是否清理浏览器缓存,并配置如下:

IE_ENSURE_CLEAN_SESSION

现在让我们看一下 DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true); 之后的 GeckoDriver

WebDriver Spec / GeckoDriver / moz:profile

如果您仔细查看 rust_mozprofile 日志,您会发现每次 geckodriver 被称为新的 geckodriver 已被删除, moz:profile 的详细信息发生在以下行:

rust_mozprofile

此日志清楚地表明Marionette挖出了一个新的 Marionette CONFIG Matched capabilities: {"browserName":"firefox","browserVersion":"56.0","platformName":"windows_nt","platformVersion":"6.2","pageLoadStrategy":"normal","acceptInsecureCerts":false,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"rotatable":false,"specificationLevel":0,"moz:processID":5848,"moz:profile":"C:\\Users\\AtechM_03\\AppData\\Local\\Temp\\rust_mozprofile.OfFuR9ogm33d","moz:accessibilityChecks":false,"moz:headless":false} ,此配置由WebDriver实例处理,即 "moz:profile":"C:\\Users\\AtechM_03\\AppData\\Local\\Temp\\rust_mozprofile.OfFuR9ogm33d" 。< / p>

您可以在Is it Firefox or Geckodriver, which creates “rust_mozprofile” directory讨论中找到关于 GeckoDriver 的更详细讨论。

moz:profile

ChromeDriver 遵循相同的 ChromeDriver 确实遵守(将会遵守)相同的套件。

  

如果您使用任何存储的 WebDriver Spec FirefoxProfile ChromeProfile 将会提起 WebDriver 的现有配置文件已被选中以供重复使用。

Stored Browser Configurations

如果您添加以下内容,我会考虑新的/现有的 driver.manage().deleteAllCookies(); FirefoxProfile

ChromeProfile

只有Cookie被删除才会被恢复以支持 driver.manage().deleteAllCookies();