一尘不染

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

selenium

我正在使用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循环中,我要做的第一件事是清除CACHE(即MOZILLA和CHROME)

知道我该如何实现吗?

谢谢


阅读 1540

收藏
2020-06-26

共1个答案

一尘不染

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

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

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

高温超导

2020-06-26