有几种方法可以做到这一点。这就是我通常在我的框架中实现工作的方式。
创建新的驱动程序对象(在本例中为 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。
driver.manage().getCookies();
我希望这可以帮助您找到解决问题的方法。