Comment effacer le cache de navigateur avant chaque test de test? J'ai essayé avec driver.manage (). DeleteLlcookies (); code> dans
Configuration code> 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 .. p>
5 Réponses :
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()
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(); }
Travaillé pour moi en C #, voir ma réponse.
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(); }
Il existe une capacité de pilote que vous pouvez définir comme suit: Cela a fonctionné pour moi sur IE11. P> Source:
http://selenium.googlecode.com/git/docs/ API / Java / Org / openqa / sélenium / IE / InternetExExplorerRiver.html P> P>
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
IE Navigateur efface le cache de chaque élément après chaque page de charge
ieCapabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);