如何在硒测试中清除浏览器缓存

我正在使用WebDriver运行我的Selenium测试。我正在用一些循环重复测试,所以现在我想在JAVA中开始新测试之前清除缓存。

@Test
public void ffAndIe() throws InterruptedException {
    int i = 0;
    while(i < 5000){

        driver.get("http://dit-map.appspot.com/");
        Thread.sleep(15000);
        driver.get("http://dit- map.appspot.com/#home:zoom=7&lat=37.04&lng=25.05&display=weather");
        Thread.sleep(15000);
        driver.get("http://dit-map.appspot.com/#home:zoom=9&lat=37.55&lng=23.83&display=weather,wind");
        Thread.sleep(10000);
        driver.get("http://dit-map.appspot.com/#home:zoom=9&lat=37.84&lng=23.22&display=weather,wind,cloud");
        Thread.sleep(10000);
        driver.get("http://dit-map.appspot.com/?lang=en#home:zoom=10&lat=38.13&lng=22.59&display=weather,wind,meteogram");
        Thread.sleep(10000);
        i++;
    }
}

在这个 while 循环中,我想做的第一件事就是清除我的缓存(IE,MOZILLA和CHROME)

任何想法,我怎么能做到这一点?

谢谢


答案 1

目前,无法通过 Web 驱动程序 API 清除缓存。但是,如果每次都可以启动浏览器的新实例,则应在FFChrome中清除缓存,因为每次启动都会创建一个新的配置文件。

Selenium 问题跟踪器中问题 #40(清除缓存)的注释列出了在无法创建新的浏览器实例时问题的两种潜在解决方案:

  1. 从命令行清除 IE 缓存
  2. 使用自定义配置文件禁用 FF 缓存

呵呵


答案 2

DT_IE_AGENT_ACTIVE=true 激活加载项,以便从当前浏览器会话收集数据

希望它有帮助


推荐