web-dev-qa-db-ja.com

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ループで最初にしたいのは、キャッシュをクリアすることです(IE、MOZILLA、CHROME)

どうすればこれを達成できますか?

ありがとう

13
user1226162

現在、WebドライバーAPIを介してキャッシュをクリアする方法はありません。ただし、毎回ブラウザの新しいインスタンスを起動できる場合は、キャッシュを [〜#〜] ff [〜#〜] および Chrome でクリアする必要があります。起動するたびに新しいプロファイルが作成されます。

Selenium issue trackerの issue#40(Clear cache) のコメントには、新しいブラウザーインスタンスを作成できない場合の問題に対する2つの解決策がリストされています。

  1. IE cache をコマンドラインからクリアします
  2. FFキャッシュを無効にする カスタムプロファイルを使用する

HTH

14

DT_IE_AGENT_ACTIVE = trueはアドオンをアクティブ化し、現在のブラウザーセッションからデータを収集します

それが役に立てば幸い

0
David

私はpythonでこのコード行を使用してそれを行い、毎回キャッシュをクリアするようです(Internet Explorer)

capab = DesiredCapabilities.INTERNETEXPLORER

capab.clear()

0
Tosyneno