10
votes

Comment effacer le cache de navigateur automatiquement dans Selenium WebDriver?

Comment effacer le cache de navigateur avant chaque test de test? J'ai essayé avec driver.manage (). DeleteLlcookies (); dans Configuration Méthode après la création de l'instance de pilote, il fonctionne pour Firefox, mais pour IE NO UTILISE. Y a-t-il une solution pour IE, veuillez me fournir ..


0 commentaires

5 Réponses :


-1
votes

Utilisation de Java, vous pouvez atteindre cet objectif:

protected void deleteCookie(String cookieName) {    
    String cookieDomain = CTPropertiesManager.getProperty("site.properties", "site.cookie.domain");
    try {
        //get all cookies
        Cookie cookies[] = request.getCookies();
        Cookie ctCookie=null;
        if (cookies !=null) {
            for(int i=0; i<cookies.length; i++) {
                ctCookie=cookies[i];
                if (ctCookie.getName().trim().equals(cookieName)) {
                    if ( cookieDomain != null ) {
                        ctCookie.setDomain(cookieDomain);
                    }
                    ctCookie.setPath("/ct");
                    ctCookie.setMaxAge(0);
                    response.addCookie(ctCookie);    
                }
            } //end for
        }//end if cookie
    } catch(Exception e) {
        CTLogManager.log(e);
    }
}//end deleteCookie()


0 commentaires

3
votes

Utilisez le code ci-dessous pour effacer le cache dans IE

try {
    Runtime.getRuntime().exec("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255");
} catch (IOException e) {
    e.printStackTrace();
}


1 commentaires

Travaillé pour moi en C #, voir ma réponse.



2
votes

Utilisation de cet article, Comment: Exécutez la ligne de commande en C #, obtenez des résultats STD Out , j'ai proposé ce code C # pour supprimer des cookies (et comme effet secondaire, il supprime toutes les données de navigateur).

public static void DeleteIECookiesAndData()
{
    Process p = new Process();
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.RedirectStandardOutput = true;
    p.StartInfo.FileName = "RunDll32.exe";
    p.StartInfo.Arguments = "InetCpl.cpl,ClearMyTracksByProcess 2";
    p.Start();
    p.StandardOutput.ReadToEnd();
    p.WaitForExit();
}


0 commentaires

13
votes

Il existe une capacité de pilote que vous pouvez définir comme suit: xxx

Cela a fonctionné pour moi sur IE11.

Source: http://selenium.googlecode.com/git/docs/ API / Java / Org / openqa / sélenium / IE / InternetExExplorerRiver.html


1 commentaires

Si vous utilisez du protracteur, cela peut être défini sur les capacités hachage avec 'ie.ensurecleansession': 'vrai' - voir github.com/seleniumhq/selenium/wiki/desiredCapabilities



2
votes

IE Navigateur efface le cache de chaque élément après chaque page de charge

ieCapabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);


0 commentaires