Ich versuche, eine Linux-Box (keine Anzeige verbunden) als Selen-Server laufen zu lassen. Wenn ich einen Monitor anschließe und mich an der Box anmelde, kann ich die Selentests problemlos durchführen. Wenn ich versuche, die Tests über ssh auszuführen, scheitern die Tests mit
%Vor%Ich denke, es hat etwas mit der Abwesenheit / Präsenz des Displays zu tun. Irgendwelche Ideen?
PS der Browser ist Firefox 5, das Betriebssystem ist Ubuntu 11.04
Sie bekommen diesen Fehler, weil es keinen Monitor gibt, um Firefox zu öffnen, es wird verwirrt.
Installieren Sie Xvfb, das vorgibt, ein Monitor zu sein, aber nirgendwo auftaucht.
sudo apt-get install xvfb
Wenn Sie weniger Fehler möchten, fügen Sie diese Schriftarten hinzu, aber diese Warnungen sind nicht wichtig.
sudo apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic
Starten Sie es dann und stellen Sie Ihre Anzeige auf etwas ein, das das System nicht verwenden wird. Hier ist, was ich mache, erinnern Sie sich an die &
lässt das Terminal etwas im Hintergrund laufen.
Xvfb :99 -ac &
export DISPLAY=:99
firefox &
Ich hatte auch Probleme mit einem Ruby-on-Rails-Server, wenn ich das ssh-Terminal verließ. Verwenden Sie Bildschirm, um dieses Problem zu beheben. Der Bildschirm führt ein anderes Terminal aus, ohne vom ssh betroffen zu sein.
sudo apt-get install screen
Dann starten Sie einfach den Bildschirm, bevor Sie das oben genannte tun.
screen
Um das aktuelle Bildschirmfenster zu verlassen, klicken Sie einfach auf "Strg + A" und kehren Sie zurück in den Bildschirmtyp -r.
Es gibt eine gute Möglichkeit, mit imagemagick screen
zu testenInstallieren Sie mozilla firefox kopflos (keine GUI)
%Vor%Startet Firefox auf virtuellem GUI
%Vor%- Testen und überprüfen
%Vor%Verwendet Bildmagic, um einen Druckbildschirm zu erhalten, um sicherzustellen, dass es funktioniert. DISPLAY =: 1 Importieren Sie -window root google.com.png
(Optional) Stellen Sie den Proxy im Firefox-Profil
ein %Vor%