2016-07-11 13 views
2

Ich bin mit dem Robot Framework zusammen mit dem Selenium2Library für automatisierte Frontend-Tests. Normalerweise habe ich diese Tests im Firefox-Browser ausgeführt. Seit Version 47 von Firefox funktioniert der eingebaute FirefoxDriver der Selenium2Library nicht mehr. Ein bisschen durchs Internet gesucht und gefunden, dass ich auf die Marionette aka wechseln muss. Gecko-Fahrer.Wie wird die Systemeigenschaft "webdriver.gecko.driver" mithilfe von Robot Framework festgelegt?

Während dieser Versuch bekomme ich folgende Fehlermeldung:

Suite-Setup ist fehlgeschlagen: WebDriverException: Nachricht: Der Pfad zum Treiber ausführbar sind vom webdriver.gecko.driver System Eigenschaft festgelegt werden; Weitere Informationen finden Sie unter https://github.com/jgraham/wires. Die neueste Version kann von https://github.com/jgraham/wires

erneut heruntergeladen habe ich versucht, im Internet einen Weg zu finden, den Pfad der GeckoDriver ausführbar zu setzen, aber ich fand nur einen Weg für Java. Weder für Python noch für das Robot Framework. Hat jemand eine Idee, wie man eine Systemeigenschaft entweder in Python oder in Robot Framework setzt?

Antwort

0

Dies ist eine Antwort, die Kompatibilitätsprobleme mit Firefox 47 und Selenium2Library (die Sie Marionette/Gecko-Treiber versuchen führte) zu lösen:

47 Firefox einen Fehler hatte so dass es mit Selen WebDriver zum Absturz bringen. Dieser Fehler wurde in Firefox 47.0.1 behoben (siehe release notes).

Kombination des neuesten Selenium2Library (oder Selen 2.53.6) und Firefox 47.0.1 sollte funktionieren.

Hoffe, das hilft.

2

Wenn Sie Marionette nicht verwenden möchten, folgen Versionen Mukesh Antwort und ändern. Wenn Sie verwenden möchten, Marionette, der einfachste Ansatz ist Drähte (oder geckodriver in der Zukunft) zu dem Systempfad hinzufügen, wie by the Mozilla developers vorgeschlagen.

Die Python-Bindungen unterstützen nicht den Pfad andere Einstellung GeckoDriver als durch Parameter auf einen WebDriver __init__. Wenn also das Ändern des Systempfads keine Option ist, besteht die einzige Möglichkeit darin, den Pfad zu Ihrer ausführbaren Datei in Selenium zu übergeben. Von Robot Framework aus können Sie dies mit Create Webdriver tun. Der __init__ für Firefox ist dokumentiert here.

*** Settings *** 
Library   Selenium2Library 
Library   Collections 

*** Test Cases *** 
Specifying Path To GeckoDriver 
    ${ff default caps} Evaluate sys.modules['selenium.webdriver'].common.desired_capabilities.DesiredCapabilities.FIREFOX sys,selenium.webdriver 
    Set To Dictionary ${ff default caps} marionette=${True} 
    Create Webdriver Firefox executable_path=C:\\stuff\\wires.exe 
    Go To https://stackoverflow.com 
    Sleep 2 s 
    [Teardown] Close All Browsers 
Verwandte Themen