
Diese Frage wurde ursprünglich in Stackoverflow gestellt, aber dann habe ich entschieden, dass sie vielleicht besser zu Serverfault passt, also habe ich sie hierher verschoben.
Ich versuche, meine Jenkins-Projekte neu zu ordnen, indem ich einige davon auf einen Slave-Knoten verschiebe. Mein Problem ist, dass dasselbe Projekt auf dem Master-Knoten problemlos läuft, auf dem Slave, auf den ich es verschieben möchte, jedoch mit einem kryptischen Fehler fehlschlägt. Das Problem liegt nicht bei Jenkins selbst, da ich beim manuellen Ausführen in einer Shell identische Ergebnisse erhalte.
Der Fehler, den ich auf dem Slave erhalte, ist:
PHPUnit_Extensions_Selenium2TestCase_Exception: Es gibt derzeit keine aktive Sitzung, um den Befehl „url“ auszuführen. Sie versuchen wahrscheinlich, eine Option in setUp() mit einem falschen Wert zu setzen. usw. Setter-Name. Sie können stattdessen auch setUpPage() verwenden.
Dies würde normalerweise darauf hinweisen, dass der Code in Ordnung ist, aber genau dasselbe Projekt führt auf dem Masterknoten zu keinen Fehlern und die Tests werden erfolgreich ausgeführt.
Was ich bisher versucht habe:
- Ändern Sie die PHPUnit-Version auf dem Slave-Knoten auf die Version, die auf dem Master verwendet wird (auf dem Master ist es 4.4.1, auf dem Slave 4.5.0). Kein Erfolg, der Build läuft immer noch auf dem Master und schlägt auf dem Slave fehl, was denselben Fehler ergibt.
- Vergleichen Sie die PHP5-Konfigurationsdateien von beiden Rechnern. Es sind keine Unterschiede erkennbar.
Bitte beachten Sie, dass ich die Tests nicht schreibe, sondern nur die Wartung des Jenkins-Clusters übernommen habe. Es muss einen Trick in der Umgebung geben, der den Unterschied macht, aber ich kann ihn nicht eingrenzen. Das Ausführen von phpunit mit --verbose oder --debug hilft auch nicht.
Antwort1
Glücklicherweise habe ich eine Lösung gefunden. Es stellte sich heraus, dass auf dem Slave kein Internet-Browser installiert war. aptitude install iceweasel
Ein Neustart des Selenium-Servers hat dann geholfen – jetzt laufen die Tests reibungslos.
So einfach und doch so frustrierend. Hoffentlich spart dies jemand anderem wertvolle Zeit, wenn er auf ein ähnliches Problem stößt.