在使用Java运行某些SeleniumWebDriver测试之前,请清除缓存
我正在用java编程语言研究SeleniumWebDriver自动化。在我的测试套件中,启动浏览器窗口一次并执行所有测试。我想在运行某些测试之前清除浏览器缓存,而不重新启动浏览器。是否有任何命令/功能可以实现此目的?谢谢。谢谢你的IE在使用Java运行某些SeleniumWebDriver测试之前,请清除缓存,java,selenium-webdriver,browser-cache,Java,Selenium Webdriver,Browser Cache,我正在用java编程语言研究SeleniumWebDriver自动化。在我的测试套件中,启动浏览器窗口一次并执行所有测试。我想在运行某些测试之前清除浏览器缓存,而不重新启动浏览器。是否有任何命令/功能可以实现此目的?谢谢。谢谢你的IE DesiredCapabilities ieCap = DesiredCapabilities.internetExplorer(); ieCap.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESS
DesiredCapabilities ieCap = DesiredCapabilities.internetExplorer();
ieCap.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
对于铬:
要删除Cookie,请执行以下操作:
driver.manage().deleteAllCookies();
至少在Chrome上,我坚信如果你隐姓埋名,你就不必清理你的饼干了。您可以设置如下选项(如下所示): 这样称呼:
with webdriver.Chrome(options=options) as driver:
driver.implicitly_wait(conf["implicitly_wait"])
driver.get(conf["url"])
这就是我在Python中使用的内容:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get('chrome://settings/clearBrowserData')
driver.find_element_by_xpath('//settings-ui').send_keys(Keys.ENTER)
您可以尝试将这些转换为Java。希望这会有所帮助!:)以下代码基于@An Khang的答案。它在Chrome 78上工作正常
ChromeDriver chromeDriver = new ChromeDriver();
chromeDriver.manage().deleteAllCookies();
chromeDriver.get("chrome://settings/clearBrowserData");
chromeDriver.findElementByXPath("//settings-ui").sendKeys(Keys.ENTER);
return chromeDriver;
您需要导入较新版本中的密钥,并将最后一行更改为findElement by xpath
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.get("chrome://settings/clearBrowserData");
driver.findElement(By.xpath("//settings-ui")).sendKeys(Keys.ENTER);
DesiredCapabilities
已被弃用,但并不认为它对端到端测试有用,因为此时,您不再使用与客户相同的环境。此选择器不再返回81.0中的任何元素。4此解决方案对我有效,我使用的是chrome 86,感谢这在chrome 87中不起作用,回车键不会触发清除缓存。这不正是Ambesh Srivastava回答的吗?我只是写了它,因为在新版本中需要导入。不起作用..至少不再起作用了
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.get("chrome://settings/clearBrowserData");
driver.findElement(By.xpath("//settings-ui")).sendKeys(Keys.ENTER);
import org.openqa.selenium.Keys;
WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();
driver.get("chrome://settings/clearBrowserData");
driver.findElement(By.xpath("//settings-ui")).sendKeys(Keys.ENTER);