Ausführen von selenium-Tests automatisch
Ich habe ein problem mit Selen und kann Sie nicht arbeiten.
Was ich machen möchte:
Ein Kunde von uns, sendet uns eine Selenium-Testfall ausgeführt werden soll, automatisch in mehreren Standorten und die Zeit aufzuzeichnen.
Wir wollen mit Selen und Firefox Portable, weil wir wollen, dass die tests völlig unabhängig von Anwendereingaben und die installierte software an den unterschiedlichen Standorten.
So viel für die Start-Bedingungen 😉
Was haben wir bisher:
Die erste version wurde komplett in Java geschrieben, exportierten wir den Testfall des Kunden zu Java mit der Selenium-IDE-Plugin -> Export to Java WebDriver.
Dies nicht mehr, weil der Kunde nutzt nun einige Funktionen der WebDriver-export nicht unterstützt. Und da wir nicht wollen, das zu ändern und den test aus der Kunden -, Java-export ist nicht länger eine option.
Also für den ersten Lauf sind wir mit diesem Befehl (alle Variablen sind richtig gesetzt):
java -jar selenium-2.33.0/selenium-server-standalone-2.33.0.jar -port 5555
-firefoxProfileTemplate "Firefox\Data\profile" -log logs\selenium_server.log
-htmlSuite "*firefox" http://localhost:5555 Testsuite.html
logs\results-firefox-%curTimestamp%.html
Dieser startet mein vorinstallierten firefox, nicht portabel. Auf der Maschine des Kunden, kein firefox gestartet wird auch immer, weil es nicht installiert ist. Also musste ich den Pfad zu der firefox stattdessen mit der "custom" htmlSuite:
java -jar selenium-2.33.0/selenium-server-standalone-2.33.0.jar -port 5555
-firefoxProfileTemplate "Firefox\Data\profile" -log logs\selenium_server.log
-htmlSuite "*custom %FF_DIR%\FirefoxPortable.exe" http://localhost:5555 Testsuite.html
logs\results-firefox-%curTimestamp%.html
Funktioniert dies nicht, da der Selenium-Server kann nicht diesen Befehl ausführen, wenn die Ausführung unter Windows, was wir tun (siehe: http://code.google.com/p/selenium/issues/detail?id=3274)
Wie Kommentar #6 hat einige diffs, wir patchen des selenium-Server-standalone Jar und lief den test erneut. Jetzt der browser gestartet werden konnte, aber der test konnte nicht ausgeführt werden. Nach der ersten Seite geladen, wir erhalten die Fehlermeldung "Permission denied to access property 'Dokument'".
Hier eine Lösung schlägt vor, ein user-Rechte-problem könnte die Ursache sein und Sie sollten versuchen, die "chrome" htmlSuite (siehe: https://sqa.stackexchange.com/questions/1453/how-to-fix-permission-denied-to-access-property-document)
Also haben wir:
java -jar selenium-2.33.0/selenium-server-standalone-2.33.0-patched.jar
-port 5555 -firefoxProfileTemplate "FirefoxPortable\Data\profile"
-log logs\selenium_server.log -htmlSuite "*chrome %FF_DIR%\FirefoxPortable.exe"
http://localhost:5555 Testsuite.html logs\results-firefox-%curTimestamp%.html
Beachten Sie unsere "gepatcht" Selen und die "chrome" htmlSuite.
Das hat nicht funktioniert, wie gut.
So, hier kurz die Ergebnisse:
-
htmlSuite = firefox -: das vorinstallierte Firefox verwendet wird, wenn installiert, nicht Portabel. Im Falle, kein FF installiert ist, schlägt der test fehl, insgesamt
-
htmlSuite = chrome: der server kann nicht starten Sie den browser, wie es versucht, EnvironmentVariables, die wird nicht unterstützt unter Windows (siehe: http://code.google.com/p/selenium/source/browse/java/client/src/org/openqa/selenium/os/WindowsProcessGroup.java#67 Linien 67 folgende)
-
htmlSuite = googleChrome: Google Chrome Portable gestartet werden kann, aber der Chrome-browser nicht finden können, einige Elemente angegeben, die durch den test, so können wir nicht Chrome verwenden (änderung der test ist keine option, wie oben beschrieben)
-
htmlSuite = iexplore: Internet Explorer startet, aber dann ein JavaScript-Fehler angezeigt wird, verweisen auf ein benutzerdefiniertes Profil erstellt von Selen, so dass der test funktioniert nicht in IE, entweder
-
htmlSuite = custom: der Portable Firefox gestartet wird (yeehaw), aber nicht über ausreichende Rechte, um den test auszuführen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einen Continuous-Integration-System wie Jenkins oder TeamCity Ausführung von tests automatisch.
wir haben nun beschlossen, zur Unterstützung der Kunden bei der Installation von Firefox auf die Maschinen zu testen, so können wir unsere Batchdatei ohne Probleme.
Als für den Fehler in der Selen-look here (code.google.com/p/selenium/issues/detail?id=5554#c14), gibt es einen link, um ein nightly build, das funktioniert (zumindest für uns) mit Firefox v23, die Selen 2.33 nicht.
Vielen Dank für alle, die dazu beigetragen, aber ich denke mein Erster Ansatz nicht erreicht werden kann, die Art, wie ich dachte, es könnte 🙁
Ich dieses problem gelöst.
Besuchen Sie diesen link: http://www.townx.org/blog/elliot/dealing-self-signed-ssl-certificates-when-running-selenium-server-firefox
Punkt 9:
Löschen Sie alles in dem Verzeichnis mit Ausnahme der cert_override.txt und cert8.db-Dateien.
Hoffe es hilft