2015-06-28 13 views
8

Piszę prosty program w Eclipse przy użyciu adnotacji JUnit.Metoda driver.close() nie działa w Selenium WebDriver na Firefox

diver.close() nie zamyka mojej przeglądarki Firefox po testach. Działa dobrze w Chrome. Fragment kodu jest tutaj.

public class FireFox1 { 
    WebDriver driver; 

    @Before 
    public void setUp() { 
     driver= new FirefoxDriver(); 
     driver.get("http://book.theautomatedtester.co.uk/chapter4"); 
    } 

    @After 
    public void tearDown() { 
     driver.close(); 
    } 

    @Test 
    public void testExamples() { 
     WebElement element= driver.findElement(By.id("nextBid")); 
     element.sendKeys("100");  

    } 
} 
+1

Co zamiarem wykorzystania 'driver.close()' zamiast 'driver.quit()'? – Saifur

+0

Ten sam kod z Firefoksem i Junitem działał bez żadnego problemu i zamknął przeglądarkę. –

+0

Hej Saifur, współpracuje z driver.quit() tutaj, ale chcę wiedzieć, dlaczego to nie działa ze ścisłej metody(). –

Odpowiedz

2

czasami podczas wielokrotnego użycia napotykamy problemy z driver.close(). Anyways driver.quit() naprawi twój problem.

Ogólnie driver.close() zamyka przeglądarkę (instancja sterownika jest nadal nienaruszona), a driver.quit() służy do zabicia instancji serwera WWW. Jakkolwiek używasz tutaj tylko jednej strony, możesz przejść z driver.quit().

Dziękuję.

1

Zakładając, że rozpoczęty 5 przeglądarek (klasy) równolegle z użyciem siatki:

driver.close - służy do ścisłej bieżącej przeglądarki (gdzie toczy się egzekucja)

driver.quit - służy do zamknięcia wszystkie przeglądarki uruchomione przez bieżące wykonanie.

Można użyć dowolnego jednego z tego ..

Może być przeglądarka Kompatybilność problem, spróbuj obniżyć FF niech widzimy ...

0

Lepsze wykorzystanie driver.quit() metoda. Zamyka przeglądarkę, ale z powodu pewnych nieznanych problemów rzuca NullPointerException. Po prostu go złap ...

try{ 
    driver.quit(); 
    }catch (Exception e){ 
     System.out.println("Nothing to do with it"); 
     } 
0

Użyj najnowszego GeckoDriver.exe (17) z najnowszym FireFox (54,0); To działa dobrze dla mnie. Miałem ten sam problem wcześniej.

ten problem, że masz do czynienia jest całkowicie problem kompatybilności pomiędzy kierowcą & wersji przeglądarki.

driver.close(); powinieneś pracować bez problemu, jeśli korzystasz z powyższych wersji. Daj znać czy działa.

Powiązane problemy