Da die Dokumentation zur GitLab CI-Konfiguration und Selenium generell schlecht ist, bitte ich um Hilfe.
Konfiguration nach Interessenpunkt:
gitlab.ci.yml
:
protractor.ci.conf.js
:
Bei der obigen Konfiguration schlägt GitLab mit:
fehl %Vor% 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 .
Ich habe gebrauchtes Gitlab CI gebraucht aber Selenium Erfahrung. Lassen Sie mich zunächst einige wichtige Überlegungen anstellen:
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. 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. 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:
protractor.ci.conf.js
wird (nur geänderter Containername in seleniumAddress
):
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.
Tags und Links selenium protractor selenium-grid gitlab-ci angularjs-e2e