Firefox 如何删除所有域中的所有cookie?

Firefox 如何删除所有域中的所有cookie?,firefox,selenium,webdriver,selenium-webdriver,Firefox,Selenium,Webdriver,Selenium Webdriver,Webdriver Wire协议不包含从所有域删除所有Cookie的方法 我想删除所有域中的所有Cookie,因为AUT与设置Cookie的第三方站点集成,我想确保在每个测试开始时保持干净状态,以提高易维护性 所以我开始考虑删除所有cookie的特定于驱动程序的方法。我对Firefox特别感兴趣 在Firefox中,可以通过以下任一方式完成: 按Ctrl+Shift+Delete,然后按Enter键 编写Firefox扩展,一步到位 我错过什么了吗?是否有跨驱动程序选项来删除所有Cookie

Webdriver Wire协议不包含从所有域删除所有Cookie的方法

我想删除所有域中的所有Cookie,因为AUT与设置Cookie的第三方站点集成,我想确保在每个测试开始时保持干净状态,以提高易维护性

所以我开始考虑删除所有cookie的特定于驱动程序的方法。我对Firefox特别感兴趣

在Firefox中,可以通过以下任一方式完成:

  • 按Ctrl+Shift+Delete,然后按Enter键
  • 编写Firefox扩展,一步到位

我错过什么了吗?是否有跨驱动程序选项来删除所有Cookie(从所有域)?

有几种方法可以实现这一点。这就是我通常在框架中实现工作的方式

创建新的驱动程序对象(在本例中为ChromerDriver)时,请设置“确保清洁”会话功能:

public WebDriver driver() {

    File driverServer = new File(WebDriverConfig.class.getClassLoader().getResource("webDrivers/chromedriver.exe").getFile());
    System.setProperty("webdriver.chrome.driver", driverServer.getAbsolutePath());
    DesiredCapabilities caps = DesiredCapabilities.chrome();
    caps.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true);
    return new ChromeDriver();

}
然后在使用TestNG的框架进行每个测试的开始:

@BeforeMethod(alwaysRun = true)
public void setup() {

    driver.manage().deleteAllCookies();
    // Do other stuff before each test executes

}
您还可以通过获取cookies并找到所需的cookies,然后删除该cookies,从而仅删除特定的cookies

driver.manage().getCookies()


我希望这能帮助您找到问题的解决方案。

类似的问题:目前我通过访问另一个域来删除以前由它设置的cookie
driver.manage().deleteAllCookies()仅从当前域删除Cookie(当前页面可见)
getCookies
仅返回当前域中的cookies。这就是为什么我问了这个问题,并在那个里重复了三次“来自所有领域”