gpt4 book ai didi

firefox - 如何删除所有域中的所有 cookie?

转载 作者:行者123 更新时间:2023-12-02 21:07:54 26 4
gpt4 key购买 nike

Webdriver Wire Protocol 不包含从所有域中删除所有 cookie 的方法。 It can only delete cookies from current domain .

我想删除所有域中的所有 cookie,因为 AUT 与设置 cookie 的第三方网站集成,并且我想确保每次测试开始时的干净状态,以提高可维护性。

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

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

  • Ctrl+Shift+Delete,然后按 Enter
  • 编写 Firefox 扩展,允许一步完成此操作

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

最佳答案

有多种方法可以实现此目的。这就是我通常在我的框架中实现工作的方式。

创建新的驱动程序对象(在本例中为 ChromerDriver)时,设置 ENSURING_CLEAN_SESSION 功能:

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

}

您还可以通过获取 Cookie 并找到所需的 Cookie,然后删除该 Cookie,仅删除特定的 Cookie。

driver.manage().getCookies();

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

关于firefox - 如何删除所有域中的所有 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15622266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com