Le sélénium web le pilote n'est pas en mesure de fermer firefox exemple, si un cas de Test est manqué

je les gens,
je suis en utilisant junit avec le sélénium web pilote 2.28.
le problème est que si je lance un test réussi, le site des lecteurs est en mesure de fermer firefox instance, mais lorsqu'un test échoue, le sélénium web pilote n'est pas en mesure de fermer firefox.
j'utilise FF 15.0.1 avec selenium-server-standalone-2.28.0.jar.
veuillez répondre
merci
Sahil

private void startWebdriver() throws UIException{
    //2) Prevent re-use.
    if(UIHandlerWD.this.profile == null)
        throw new 
            UIException(
                UIException.Code.UI, 
                    "Webdriver instance cannot be instantiated."
            );              

    //3) Configure Selenium Webdriver.
    if (this.profile.browserType.equalsIgnoreCase("*firefox")){
        FirefoxProfile fProfile = new FirefoxProfile();

       //profile.SetPreference("network.http.phishy-userpass-length", 255);
        fProfile.setAcceptUntrustedCertificates(true);
        DesiredCapabilities dc = DesiredCapabilities.firefox();
        dc.setJavascriptEnabled(true);
        dc.setCapability(FirefoxDriver.PROFILE, fProfile);

        //this.webdriver = new FirefoxDriver(dc);
        this.webdriver = new FirefoxDriver(dc);
    }
    else if (this.profile.browserType=="INTERNETEXPLORER")
        this.webdriver = new InternetExplorerDriver();
    else
        throw new 
        UIException(
            UIException.Code.UI, 
                "Unknown browser type '" + this.profile.browserType +"'."
        );          


    //4) Start Webdriver.
    this.webdriver.get(this.profile.getURL().toString());
    this.webdriver.manage().timeouts().
    implicitlyWait(5, TimeUnit.SECONDS);
    this.webdriver.manage().timeouts().
    pageLoadTimeout(this.profile.timeout, TimeUnit.SECONDS);

}

void stopWebdriver() {
    if(this.webdriver != null){
        try{
        Thread.sleep(5000);
        }
    catch (Exception e) {
        //TODO: handle exception
    }
        this.webdriver.close();
    }
    this.webdriver = null;
    this.profile = null;
}
Merci de partager un programme de la façon dont vous invocation de ces deux méthodes.
salut,j'ai été le débogage de la question, et c'est ce que j'ai découvert Quand je suis en cours d'exécution de l'ensemble de la classe puis le sélénium pas de clôture. Mais quand je suis de débogage dans le code, puis quand j'ai pas cours de de la "ce.webdriver.close();", puis le sélénium instance est capable de la fermer, je suis en utilisant eclipse indigo Version: Indigo Service Release 1 Build id: 20110916-0149
Vous pouvez utiliser JUnit annotations...Faire usage de @Before for browser setup, @Test for test code et @After for the browser killing.
je suis à l'aide de @AfterClass pour arrêter le sélénium session, mais encore sa ne fonctionne pas
je suis déjà à l'aide de AfterClass pour arrêter le sélénium session, CODE fr l'appel de sélénium.stop() AfterClass public static void _afterJUnitTestCase() { previousCtx = TestContext.getContext(); TestContext.removeContext(); currentCase = null; } la Classe utilisée pour le sélénium .pour arrêter la fonction public static void removeContext() { //1) Arrêt de Sélénium, s'il est commencé. pour(UIWD de l'interface utilisateur: activeContext.uiHandlers.keySet()) activeContext.stopUI(ui); activeContext.uiHandlers.clear(); //2) Restaurer le contexte du système. activeContext = SYSTEM_CONTEXT; }

OriginalL'auteur user1863204 | 2013-01-28