Ende des Tests auf Headless Server

8

Ich versuche, eine Umgebung für Ende-zu-Ende Tests auf einem Tröpfchen einzurichten, auf dem der Ubuntu-Server 12.04.3 auf Digital Ocean läuft.

Was ich am Ende erreichen möchte, ist, dass meine jenkins (auf dem einen Tröpfchen installiert) meine End-to-End-Tests durchführen können. Nun, der Server ist natürlich kopflos und die End-to-End-Tests müssen über einen Browser laufen (ich benutze Winkelmesser mit dem Selenium Standalone Server mit Chrom-Treiber).

Meine Frage ist: Wie spawne ich einen Browser auf diesem Rechner ? Ich habe xorg installiert und wenn ich startx auf dem Server mache, loggen Sie sich aus und ssh -X , ich kann die End-to-End-Tests manuell ausführen (ein Browser erscheint auf meinem lokalen Maschine). Aber ich kann es ohne ssh -X dazu bringen zu arbeiten, und da Jenkins auf dem gleichen Tröpfchen ist, wo die Tests laufen sollen. Nun, ich bekomme keinen Browser zum Laichen.

HINWEIS: Ich weiß, dass ich hier etwas wirklich Triviales vermisse, da ich weder die Konfiguration noch das xorg vollständig verstehe.

Alle Hinweise oder eine vollständige Antwort wird sehr geschätzt, das gibt mir graue Haare.

Edit: Nach ein wenig Graben denke ich, dass ich die Xorg-Sachen ein bisschen falsch gemacht habe, ich vermute, der Zweck von X ist es, ein Fenster auf einem Remote-Rechner (dh meinem lokalen Rechner) spawnen zu können. Und was ich möchte, ist mehr in Richtung eines virtuellen Framebuffers wie Xvfb ...

    
hanto899 31.03.2014, 19:24
quelle

2 Antworten

7

Da ist PhantomJS aber mit Winkelmesser ist buggy und ein tot -Ende .

Sie können weiterhin Chrome & amp; Firefox kopflos durch docker-selen oder, wenn Sie Docker kannst du es selbst mit ubuntu-kopflos probieren. Beide Lösungen bieten Chrome & amp; Firefox unter Verwendung von Xvfb , obwohl es kein echtes DISPLAY gibt.

UPDATE 2 Scheint möglich zu sein, Xvfb in OSX auszuführen: Ссылка

UPDATE 1 Mac OSX selenlose Kopfloslösung:

Aktivieren Sie den Remote-Desktop-Zugriff für mehrere Benutzer auf den OSX-Computer

So kann Selen kopflos auf dem Mac testen. Nicht wirklich kopflos, sondern als ein anderer Benutzer, so dass es Ihre aktuelle Benutzeranzeige nicht beeinträchtigt. Um dies zu tun, brauchen Sie Kickstart: Ссылка Beginnen Sie mit dem Kickstart-Dienstprogramm

%Vor%

Aktivieren Sie die Remotedesktop-Freigabe, aktivieren Sie die Zugriffsrechte für alle Benutzer und starten Sie den ARD-Agenten neu:

%Vor% Apple Remote Desktop 3.2 oder höher

Erlauben Sie den Zugriff für alle Benutzer und geben Sie allen Benutzern vollen Zugriff

%Vor%

Kickstart-Hilfebefehl

%Vor%     
Leo Gallucci 04.05.2014 20:53
quelle
1

Viele eckige Apps verwenden Travis CI , um auf Endlos-Desktop-Systemen jederzeit Endpoint-basierte End-to-End-Integrationstests durchzuführen. Ich kenne die Details nicht genau, wie sie es tun, aber ich weiß, dass sie einen Linux-Dienst namens xvfb , das ist eine kopflose x Windows-Implementierung. Wenn man sich eine typische Travis-Konfigurationsdatei anschaut, scheint alles, was sie tun, bevor sie ihren Webserver, den Selenserver und den Progractor starten,% code% aufzurufen, um diesen Dienst zu starten.

    
Kenneth Baltrinic 03.05.2014 04:00
quelle