2016-09-22 4 views
0

Ich habe mich eine Weile mit diesem Problem herumgeschlagen. Also verwende ich parametrize in pytest für Cross-Browser-Tests in Python geschrieben. Ich konnte alle 3 Instanzen starten, aber am Ende des Tests wird nur die Chrome-Instanz geschlossen, Safari und Firefox bleiben jedoch geöffnet. Das ist mein Skript:Ende des Automatisierungsskripts können keine Browser zum Schließen verwendet werden

@pytest.mark.parametrize("browser", [ 
    ("chrome"), 
    ("firefox"), 
    ("safari")] 
) 
def test_eval(browser): 
    print browser 

    if browser == "chrome": 
     driver = webdriver.Chrome() 
    elif browser == "firefox": 
     caps = DesiredCapabilities.FIREFOX 
     caps["marionette"] = True 
     caps["binary"] = "/Applications/Firefox.app/Contents/MacOS/firefox-bin" 
     driver = webdriver.Firefox(capabilities=caps) 
    elif browser == "safari": 
     os.environ["SELENIUM_SERVER_JAR"] = "selenium-server-standalone-3.0.0-beta2.jar" 
     driver = webdriver.Safari() 

    driver.get("https://www.google.com") 

    driver.quit() 

Vielen Dank im Voraus für die Hilfe!

Antwort

1

Dies kann helfen, Difference between webdriver.Dispose(), .Close() and .Quit()

Sie schlagen vor, driver.close() für diejenigen zu verwenden, die

+0

So Chrom Arent ich zu einem anderen if/elif Struktur hinzufügen würde, wenn Sie Ihren Fahrer schließen. – BLang

+0

danke für den Link. Ich habe die Vorschläge hinzugefügt und es scheint jetzt zu funktionieren. Vielen Dank! – Glen

+0

w00t froh, dass es funktioniert !! – BLang

Verwandte Themen