Selenium Grid-Fehler in GitLab CI: Fehler beim Weiterleiten der neuen Sitzung Leerer Pool der VM für Setup-Funktionen

8

Da die Dokumentation zur GitLab CI-Konfiguration und Selenium generell schlecht ist, bitte ich um Hilfe.

Konfiguration nach Interessenpunkt:

gitlab.ci.yml :

%Vor%

protractor.ci.conf.js :

%Vor%

Bei der obigen Konfiguration schlägt GitLab mit:

fehl %Vor%     
Ain Tohvri 30.05.2017, 12:03
quelle

2 Antworten

1

Der Schlüssel ist Xvfb auf GitLab CI zu verwenden. Das dreht das Display so, dass --headless Chrome die Spezifikationen ausführen kann.

Ich habe mehr Informationen und Codeabschnitte in den Blogpost von How to run AngularJS eingepackt End-to-End-Tests mit GitLab CI .

    
Ain Tohvri 13.12.2017, 22:19
quelle
1

Ich habe gebrauchtes Gitlab CI gebraucht aber Selenium Erfahrung. Lassen Sie mich zunächst einige wichtige Überlegungen anstellen:

  1. Ein Fehler, den Sie erhalten, bedeutet, dass im Hub kein angeforderter Browser vorhanden ist. Dies liegt wahrscheinlich daran, dass PhantomJS sich nicht registrieren konnte.
  2. Sie müssen weder Java noch Selenium Server installieren, um mit PhantomJS zu arbeiten. Es ist ein eigenständiges Programm, das Selenium-Protokoll implementiert. Um mit PhantomJS zu arbeiten, starten Sie einfach den Container mit PhantomJS. Zum Beispiel würde ich diesen verwenden: selenoid/phantomjs:2.1.1 (Build-Datei ist hier ) ) - es läuft nur phantomjs --webdriver=4444 . PhantomJS hört standardmäßig den Port 8910 ab, aber wegen des obigen Befehls können wir immer noch 4444 verwenden.
  3. Ich denke, dass Sie auch webdriver-manager , ein Javascript-Tool zum Herunterladen von Selenium Server- oder Webdriver-Binärdateien, nicht benötigen. Dies ist nicht erforderlich, um mit PhantomJS zu arbeiten.
  4. Nicht sicher, warum Umgebungsvariablen wie HUB_PORT_4444_TCP_ADDR hinzugefügt wurden. Also würde ich sie alle entfernen.

Nachdem wir das gesagt haben, versuchen wir, Ihre Dateien zu modifizieren.

gitlab-ci.yml wird zu:

%Vor%

protractor.ci.conf.js wird (nur geänderter Containername in seleniumAddress ):

%Vor%

Ich bin mir nicht sicher, was baseUrl ist - es scheint, dass es sich um ein Stück Winkelmesser handelt, also muss ich mich wohl nicht ändern. Bitte stellen Sie weitere Fragen, falls vorhanden.

    
vania-pooh 09.06.2017 15:33
quelle