Internet explorer 8 如何在Selenium WebDriver中自动清除浏览器缓存?

Internet explorer 8 如何在Selenium WebDriver中自动清除浏览器缓存?,internet-explorer-8,selenium-webdriver,junit4,Internet Explorer 8,Selenium Webdriver,Junit4,如何在每次测试运行之前清除浏览器缓存?我尝试了driver.manage().deleteAllCookies()在setUp方法中创建驱动程序实例后,它适用于firefox,但不适用于IE。是否有任何IE解决方案请提供给我..使用java您可以实现: 受保护的void deleteCookie(字符串cookieName){ 字符串cookieDomain=CTPropertiesManager.getProperty(“site.properties”、“site.cookie.domain

如何在每次测试运行之前清除浏览器缓存?我尝试了
driver.manage().deleteAllCookies()
setUp
方法中创建驱动程序实例后,它适用于firefox,但不适用于IE。是否有任何IE解决方案请提供给我..

使用java您可以实现:

受保护的void deleteCookie(字符串cookieName){
字符串cookieDomain=CTPropertiesManager.getProperty(“site.properties”、“site.cookie.domain”);
试一试{
//得到所有的饼干
Cookie cookies[]=request.getCookies();
Cookie ctCookie=null;
如果(cookies!=null){

对于(int i=0;i使用以下代码清除IE中的缓存

试试看{
Runtime.getRuntime().exec(“RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255”);
}捕获(IOE异常){
e、 printStackTrace();
}
通过这篇文章,我想出了这个C代码来删除cookies(作为一种副作用,它会删除所有IE浏览器数据)


它一点也不漂亮,但很有效。也许可以删除一些碎片。(如果您找到更好的方法,请告诉我)。

您可以按如下方式设置驱动程序功能:

DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
它在IE11上对我有效

资料来源:

IE浏览器在每次页面加载后清除每个元素的缓存

ieCapabilities.setCapability(InternetExplorerDriver.ENABLE_ELEMENT_CACHE_CLEANUP, true);
这将进行会话清理:

ieCapabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);

在C#中为我工作过,请参阅我的回答。如果您使用的是量角器,则可以使用“ie.ensureCleanSession”在功能哈希上设置此值:“true”-请参阅
ieCapabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);