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.

InformationsquelleAutor ferrari2k | 2013-07-03
Schreibe einen Kommentar