Firefox 如何删除所有域中的所有cookie?
Webdriver Wire协议不包含从所有域删除所有Cookie的方法 我想删除所有域中的所有Cookie,因为AUT与设置Cookie的第三方站点集成,我想确保在每个测试开始时保持干净状态,以提高易维护性 所以我开始考虑删除所有cookie的特定于驱动程序的方法。我对Firefox特别感兴趣 在Firefox中,可以通过以下任一方式完成: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
- 按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()代码>
我希望这能帮助您找到问题的解决方案。类似的问题:目前我通过访问另一个域来删除以前由它设置的cookiedriver.manage().deleteAllCookies()代码>仅从当前域删除Cookie(当前页面可见)getCookies
仅返回当前域中的cookies。这就是为什么我问了这个问题,并在那个里重复了三次“来自所有领域”